# Generated by Makefile. Do not edit.

commit 3226b8ebddd9c6c738ba42986822c26418a49afb
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Dec 12 23:51:45 2017 +0000

    Finalise changelog for 4.2.3

 NEWS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fa85072fc3478ab88812abbfaeb2efa5a968125d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Dec 12 23:51:05 2017 +0000

    Problem: no NEWS item for #2861
    
    Solution: add it

 NEWS | 2 ++
 1 file changed, 2 insertions(+)

commit 66fe4296ff8b1a73d48682076a5c924ce1df88b9
Merge: 028d02a e4fee1d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Dec 13 13:22:48 2017 +0000

    Merge pull request #2865 from jimklimov/jenkins-agent
    
    Problem: nuget packaging refers to imatix gsl

commit e4fee1d3e00bb064b07e06b5daadcc7a82c82de9
Author: Jim Klimov <jim@jimklimov.com>
Date:   Wed Dec 13 14:20:27 2017 +0100

    Problem: nuget packaging refers to imatix gsl
    
    Solution: re-point to the maintained zeromq fork
    
    Signed-off-by: Jim Klimov <EvgenyKlimov@eaton.com>

 packaging/nuget/package.gsl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 028d02a0384bedf227492b1ca257ce4fe070a976
Merge: e2dbc99 3af7624
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Dec 13 13:17:15 2017 +0000

    Merge pull request #2864 from jimklimov/jenkins-agent
    
    Problem: Jenkinsfile uses "any" agent

commit 3af762441a3d9af048484a40839f3732bdf43cf2
Author: Jim Klimov <jim@jimklimov.com>
Date:   Mon Dec 4 23:53:10 2017 +0100

    Problem: Jenkinsfile uses "any" agent
    
    Solution: avoid using infrastructure and default agents by requiring a reasonable label (like in GSL and zproject)
    
    Signed-off-by: Jim Klimov <EvgenyKlimov@eaton.com>

 Jenkinsfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e2dbc99c4c67e422857a23af368ab1b2a31b8e9c
Merge: 9bb8636 5189898
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Dec 12 10:57:08 2017 +0000

    Merge pull request #2861 from glaure/master
    
    export ZMQ_STATIC compile flag to depending projects (MSVC)

commit 5189898479fddc41ab56180047c6c12e64b94b4e
Author: Gunther Laure <glaure@dewetron.com>
Date:   Tue Dec 12 10:25:19 2017 +0100

    export ZMQ_STATIC compile flag to depending projects (MSVC)
    
    Signed-off-by: Gunther Laure <glaure@dewetron.com>

 CMakeLists.txt | 5 +++++
 1 file changed, 5 insertions(+)

commit 9bb863618c4e04d2e1de3caff1bfc3fc85d6d10a
Merge: 1dd42fe 53e536a
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Mon Dec 11 07:49:42 2017 +0100

    Merge pull request #2860 from bluca/cmake_win_static
    
    Problem: static build broken on Win + CMake

commit 53e536a983c67d20fc4777bdbf1392be5461280e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Dec 10 17:41:02 2017 +0000

    Problem: static build broken on Win + CMake
    
    Solution: revert the objects optimisation, and go back to building
    everything twice on Windows, as the static builds needs different
    preprocessor definitions from the shared one, so the objects have to be
    rebuilt.
    Keep the optimisation for all the other platforms.
    Fixes #2858

 CMakeLists.txt | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

commit 1dd42fef8302a7abb0e837d1cca7520b7a2c860f
Merge: 737ea1f 822c634
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Dec 7 09:20:09 2017 +0000

    Merge pull request #2857 from jimklimov/jfdc
    
    Problem: Jenkinsfile does not pass distcheck etc.

commit 822c6341dd92e5e8d05ce5493c04a7ef5713d608
Author: Jim Klimov <jim@jimklimov.com>
Date:   Thu Dec 7 08:30:16 2017 +0100

    Problem: Jenkinsfile does not pass DISTCHECK_CONFIGURE_FLAGS and LD_LIBRARY_PATH into make

 Jenkinsfile | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit c6356b9c5a52a61d36b6d44b4cdff8bf1b9043ab
Author: Jim Klimov <jim@jimklimov.com>
Date:   Thu Dec 7 07:11:01 2017 +0100

    Problem: Jenkinsfile tests libzmq for memcheck - there is not spoon

 Jenkinsfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e7440779a4fb51ece0cef11f2898370993b78792
Author: Jim Klimov <jim@jimklimov.com>
Date:   Thu Dec 7 03:28:14 2017 +0100

    Problem: Jenkinsfile timeouts expire

 Jenkinsfile | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit e201985ad327908553c33498bb70826592aab0f5
Author: Jim Klimov <jim@jimklimov.com>
Date:   Thu Dec 7 02:43:26 2017 +0100

    Problem: Jenkinsfile does not use DISTCHECK_CONFIGURE_FLAGS

 Jenkinsfile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 737ea1f60d6d1257ee83107ce011a8c37eb8eb45
Merge: d15795b de5e7a3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Dec 6 22:34:13 2017 +0000

    Merge pull request #2856 from scpeters/patch-1
    
    Problem: WIN32 CMAKECONFIG_INSTALL_DIR is broken

commit de5e7a39834500b924e156488aa63a5dbf874998
Author: Steven Peters <scpeters@openrobotics.org>
Date:   Wed Dec 6 12:41:55 2017 -0800

    Problem: WIN32 CMAKECONFIG_INSTALL_DIR is broken
    
    Solution: set it to CMake instead of a subfolder of share.
    See cmake find_package documentation for further info.

 CMakeLists.txt | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit d15795b4e335c385d81b69ca2c0d317e58dc932b
Merge: dee6559 83c042c
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Dec 2 09:44:59 2017 +0100

    Merge pull request #2852 from bluca/pkg_include_cppzmq
    
    Problem: Debian packages are missing zmq.hpp

commit dee655959c83cf05370b2ad96690c30ed1ddf8d2
Merge: fcacb60 f90dbe0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Dec 1 09:21:13 2017 +0000

    Merge pull request #2853 from jimklimov/jf
    
    Problem: No Jenkinsfile

commit 83c042ccda60cc94a6ad07a38fd8eb0e6dc12375
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 30 23:52:42 2017 +0000

    Problem: Debian packages are missing zmq.hpp
    
    Solution: install it if available. Download it from its repo as part
    of the OBS source run.
    Debian and Ubuntu always ship zmq.hpp in libzmq-dev, so do the same.
    In the RPM world it is in its own separate package, so don't do the
    same for RPM.

 packaging/debian/rules |  6 ++++++
 packaging/obs/_service | 12 ++++++++++++
 2 files changed, 18 insertions(+)

commit f90dbe08bb4af64a0e03d9d807207727d5b249bd
Author: Jim Klimov <jim@jimklimov.com>
Date:   Thu Nov 30 23:58:03 2017 +0100

    Introduce Jenkinsfile

 Jenkinsfile | 369 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 369 insertions(+)

commit fcacb603d6fb48d2a67ec5b6dfc6ca16e11cd6b6
Merge: d8aa8fc 156633f
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sun Nov 26 14:32:45 2017 +0100

    Merge pull request #2851 from bluca/zpoller_wait_news
    
    Problem: DRAFT API change not in NEWS

commit 156633feaac38b64c95c9cedbdb29cb9b882cd1b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Nov 26 11:53:16 2017 +0000

    Problem: DRAFT API change not in NEWS
    
    Solution: add it

 NEWS | 5 +++++
 1 file changed, 5 insertions(+)

commit d8aa8fc794de46d67a7c5164f4eee4feabd0c901
Merge: a88abaa 96252e4
Author: Jim Klimov <jimklimov@gmail.com>
Date:   Fri Nov 24 11:14:00 2017 +0100

    Merge pull request #2846 from bluca/appveyor_vs2013
    
    Problem: no coverage for VS2013 and VS2017

commit a88abaa57964d397fad78a2ff6d125bca4b5baaf
Merge: 90ea11c e3cbdf4
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Fri Nov 24 08:00:59 2017 +0100

    Merge pull request #2848 from bluca/linger_news
    
    Problem: ZMQ_LINGER doc change not in NEWS

commit e3cbdf4b9365e4f46623a4d00df527f40b5c1461
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 23 17:27:09 2017 +0000

    Problem: ZMQ_LINGER doc change not in NEWS
    
    Solution: add it

 NEWS | 5 +++++
 1 file changed, 5 insertions(+)

commit 90ea11c9996f5937b9687242265f09344424e440
Merge: 9f83a59 da9bc91
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 23 17:24:37 2017 +0000

    Merge pull request #2847 from fnaime/default_linger
    
    Wrong ZMQ_LINGER default value

commit da9bc910532e564f522337d7f4d60e990200e9db
Author: fnaime <33913787+fnaime@users.noreply.github.com>
Date:   Thu Nov 23 14:15:09 2017 -0200

    Wrong ZMQ_LINGER default value
    
    Problem: Wrong linger default value
    
    Solution: correct documentation

 doc/zmq_setsockopt.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 96252e4aacc2f4aab0d086d51b3fda227ea51093
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Nov 22 18:59:29 2017 +0000

    Problem: Appveyor builds Libsodium when disabled
    
    Solution: use if statements to avoid building it when it's disabled

 appveyor.yml | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit 16d7686b48d6355db320d74c78a75abcd0b4b79e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Nov 22 13:31:43 2017 +0000

    Problem: no VS2013/17 CI jobs
    
    Solution: add them to Appveyor

 appveyor.yml | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 9f83a5988df96227c5a5a10342cedc3e95043a83
Merge: b3bf517 574d72b
Author: Jim Klimov <jimklimov@gmail.com>
Date:   Mon Nov 20 20:32:10 2017 +0100

    Merge pull request #2844 from bluca/cmake_double_build
    
    Problems: CMake rebuilds everything twice, warnings with Tweetnacl, no autoconf option to disable Werror

commit 574d72b0e2050fbc5c82b4bd6f601f386056ac28
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Nov 19 14:09:18 2017 +0000

    Problem: Travis builds with brew fail
    
    Solution: add workaround until Travis really fixes the issue:
    https://github.com/travis-ci/travis-ci/issues/8552

 .travis.yml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 08289d8f3346fad4e271a06d0b4e7a5ca3f304d6
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Nov 19 13:30:14 2017 +0000

    Problem: cannot disable Werror with autoconf
    
    Solution: add --disable-Werror flag like the existing
    --disable-pedantic or CMake's -DLIBZMQ_WERROR=OFF
    Fixes #2818

 NEWS         | 3 +++
 configure.ac | 7 +++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

commit 0298d037d0665cbb6b4b6f8fc8bc38ae296669b3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Nov 18 13:46:49 2017 +0000

    Problem: CMake rebuilds everything twice
    
    Solution: build all the objects separately before the link step, to
    avoid rebuilding when doing both static and shared builds

 CMakeLists.txt       | 21 ++++++++++-----------
 tests/CMakeLists.txt |  8 ++++++--
 2 files changed, 16 insertions(+), 13 deletions(-)

commit 5264d49eab79c427c8b8c274af69a4ffd42d364d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Nov 18 13:54:32 2017 +0000

    Problem: duplicate definition in CMake tweetnacl builds
    
    Solution: don't redefine preprocessor macro if it's already defined in
    platform.hpp

 tests/CMakeLists.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit b3bf51716e0a9d3374fc0a76691b778522194937
Merge: 0d0d72e ac552ba
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Nov 18 13:00:13 2017 +0100

    Merge pull request #2842 from bluca/accept4
    
    Problem: accept4 not available on all platforms

commit ac552ba44891b3240e4a55d29ff7b4f6de692204
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Nov 17 18:40:53 2017 +0000

    Problem: accept4 not available on all platforms
    
    Solution: check for availability in CMake and autoconf before using it

 CMakeLists.txt               | 4 ++++
 NEWS                         | 3 +++
 builds/cmake/platform.hpp.in | 1 +
 builds/gyp/platform.hpp      | 1 +
 configure.ac                 | 2 +-
 src/ipc_listener.cpp         | 4 ++--
 src/tcp_listener.cpp         | 4 ++--
 7 files changed, 14 insertions(+), 5 deletions(-)

commit 0d0d72e836ba17b8d2790b1832bb33ab24123e5c
Merge: d49b0fa 5a8fd33
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Nov 18 10:00:54 2017 +0100

    Merge pull request #2841 from bluca/news
    
    Problems: no NEWS for 4.2.3, missing some events docs, whitespace in header

commit 5a8fd337fdfcc4377d22d9366008d543e3df17a0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 16 22:00:42 2017 +0000

    Problem: NEWS not up to date
    
    Solution: add main features and bug fixes

 NEWS | 220 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 219 insertions(+), 1 deletion(-)

commit e523adf3da767aa07fe3afd90c0b17153c0727da
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 16 22:00:14 2017 +0000

    Problem: new monitor events missing from docs
    
    Solution: add them

 doc/zmq_socket_monitor.txt | 33 +++++++++++++++++++++++++++++++--
 1 file changed, 31 insertions(+), 2 deletions(-)

commit 7a7c776abb85cd5840f44e46164f59b3fd9e7bae
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 16 21:54:15 2017 +0000

    Problem: trailing whitespace in include/zmq.h
    
    Solution: remove it

 include/zmq.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d49b0fad6d6e212e5a541fd1a60fee28d795053d
Merge: 700d7cd e8ad51e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 16 11:48:30 2017 +0000

    Merge pull request #2840 from ccpaging/master
    
    Problem: Build fails in Visual Studio 2008 without `stdint.h`

commit 700d7cd142c39663001ce626c922ad91702e1d6a
Merge: d2b6985 741e5c3
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Nov 16 10:07:14 2017 +0100

    Merge pull request #2839 from bluca/linger_test
    
    Problems: test_security_{zap|curve} often hangs, debian builds ignore test failures hiding issues

commit e8ad51e62fa6eb3ff9c13eda201e7e8807da7384
Author: ccpaging <ccpaging@gmail.com>
Date:   Thu Nov 16 14:09:13 2017 +0800

    Clean code for Visual Studio 2008 compiler

 src/precompiled.hpp | 1 -
 src/stdint.hpp      | 3 +++
 src/vmci.hpp        | 1 -
 src/zmq_utils.cpp   | 1 -
 4 files changed, 3 insertions(+), 3 deletions(-)

commit 741e5c3db4b16e033beec623adfcce17cd578df4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 16 00:47:24 2017 +0000

    Problem: debian builds ignore test failures hiding issues
    
    Solution: make test failures fail the build

 packaging/debian/rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit de8f14adf5cef12fac599aaf82ba14bd6bdd4711
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 16 00:03:35 2017 +0000

    Problem: test_security_{zap|curve} often hangs
    
    Solution: set 0 linger on the sockets immediately after creating them
    rather than immediately before closing them.
    Running through helgrind/drd highlights a few race conditions, one of
    which is the setting of linger vs checking it when closing the socket.
    Work around it by setting it immediately to fix the test hangs.

 tests/testutil_security.hpp | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

commit d2b6985028b25fffd0c07a18fbb660dcb5e2951f
Merge: cffc1c4 498c6bb
Author: Jim Klimov <jimklimov@gmail.com>
Date:   Mon Nov 13 13:23:50 2017 +0100

    Merge pull request #2833 from bluca/stream_test_parallel
    
    Problem: test_stream_exceeds_buffer cannot be ran in parallel

commit cffc1c4d2df32154d99aac3cf87295336ba2e70e
Merge: e10b350 d7926d6
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Nov 10 16:02:15 2017 +0000

    Merge pull request #2832 from ebyrob/fix-doc-zmq_msg_init-zmq_recv
    
    Change zmq_recv to zmg_msg_recv since zmq_msg_t used there.

commit d7926d6d5a8372998d72ef6989e5ded1ba418e46
Author: ebyrob <ebyrob@gmail.com>
Date:   Fri Nov 10 09:06:16 2017 -0500

    Change zmq_recv to zmg_msg_recv since zmq_msg_t is only used with the zmg_msg_recv style functions.

 doc/zmq_msg_init.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 498c6bbb6770d8cd129cc35ebf05ef2e26049f95
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 9 23:37:09 2017 +0000

    Problem: test_stream_exceeds_buffer cannot be ran in parallel
    
    Solution: bind to wildcard and let the OS pick a free port instead
    of using an hard-coded 12345 TCP port

 tests/test_stream_exceeds_buffer.cpp | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

commit e10b350630f90be7788b0d0d82dbe1f466aaf0c6
Merge: aafdeb7 23f89f4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Nov 9 11:56:17 2017 +0000

    Merge pull request #2827 from korli/haiku
    
    add Haiku support

commit 23f89f4671b0d69cc54300846d946a96c5bc5071
Author: Jerome Duval <jerome.duval@gmail.com>
Date:   Tue Apr 18 21:52:36 2017 +0200

    add Haiku support
    
    * link against libnetwork.so for network functions.

 configure.ac | 4 ++++
 1 file changed, 4 insertions(+)

commit aafdeb76875ca2c653e23baa09ba9d25bdee6862
Merge: b3d19ff c8592df
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Nov 8 10:18:27 2017 +0000

    Merge pull request #2825 from rolftimmermans/req_relaxed_has_out
    
    Problem: REQ socket with ZMQ_REQ_RELAXED does not report ZMQ_POLLOUT when queried for events after first message.

commit c8592dfbc337dd43cdc12962508918e5a51b6ad3
Author: Rolf Timmermans <rolftimmermans@voormedia.com>
Date:   Wed Nov 8 09:55:14 2017 +0100

    Problem: REQ socket with ZMQ_REQ_RELAXED does not report ZMQ_POLLOUT when queried for events after first message.
    
    Solution: Check for strictness before returning false if no reply has been received.

 src/req.cpp                |  2 +-
 tests/test_req_relaxed.cpp | 20 +++++++++++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)

commit b3d19ffe1a9ce7542e21537807be80bcc76d21d7
Merge: 812e756 630f6d6
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Nov 2 17:35:00 2017 +0100

    Merge pull request #2813 from AntonBarwald/master
    
    Problem: Sometimes on OSX we get ETIMEDOUT instead of EAGAIN

commit 630f6d6ae7dd5d45c6817c9b318059bdec290210
Author: Anton Bärwald <anton.barwald@hotmail.com>
Date:   Thu Nov 2 09:59:47 2017 +0100

    Problem: On OSX usleep() changes the errno value
    
    Solution: Update errno value after calling usleep()

 src/socket_poller.cpp | 4 ++++
 1 file changed, 4 insertions(+)

commit 812e756264cc92d735dc56d91eaf8db2843f77ce
Merge: 2b75a9e f9d7eea
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Oct 26 14:08:38 2017 +0100

    Merge pull request #2809 from sigiesec/optimize-select-win
    
    Optimize select on Windows; reduce code duplication in select_t

commit f9d7eea6f976db5e975e2014d750bc319385792b
Author: sigiesec <simon.giesecke@btc-ag.com>
Date:   Thu Oct 26 11:05:39 2017 +0200

    Problem: code duplication
    
    Solution: unified Windows & non-Windows code further

 src/select.cpp | 109 ++++++++++++++++-----------------
 src/select.hpp | 189 +++++++++++++++++++++++++++++----------------------------
 2 files changed, 147 insertions(+), 151 deletions(-)

commit e7817ad38d3972f9f522985d13c76ad1dc94e3e9
Author: sigiesec <simon.giesecke@btc-ag.com>
Date:   Thu Oct 26 10:31:19 2017 +0200

    Problem: code duplication
    
    Solution: reduced code duplication by introducing local variables and
    new function trigger_events

 src/select.cpp | 250 +++++++++++++++++++++++++++++++--------------------------
 src/select.hpp |   4 +-
 2 files changed, 137 insertions(+), 117 deletions(-)

commit 37914d1be23b89f7bd747d02ee5a56a18a12d7c3
Author: sigiesec <simon.giesecke@btc-ag.com>
Date:   Thu Oct 26 09:46:11 2017 +0200

    Problem: get_fd_family call is expensive and called frequently for the
    same fds
    
    Solution: cache results of get_fd_family

 src/select.cpp | 35 ++++++++++++++++++++++++++++++++++-
 src/select.hpp |  7 ++++++-
 2 files changed, 40 insertions(+), 2 deletions(-)

commit 2b75a9ef183c3711244cb9fd571b131b5425866d
Merge: dec3af4 cd32603
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Oct 25 17:58:35 2017 +0100

    Merge pull request #2806 from sigiesec/initialize-wsaevents-only-when-used
    
    Problem: wsa_events are initialized/destroyed within every loop

commit cd32603c0e992b3c9cb64719d85e01a75eaf59fb
Author: sigiesec <simon.giesecke@btc-ag.com>
Date:   Wed Oct 25 18:30:03 2017 +0200

    Problem: wsa_events are initialized/destroyed within every loop
    iteration even if not used
    
    Solution: Move wsa_events closer to usage

 src/select.cpp | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

commit dec3af4d6994d75548e00331038a8d54d45e4532
Merge: cb266ee 2aa0e6f
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Oct 25 09:35:49 2017 +0100

    Merge pull request #2803 from f18m/master
    
    Change ZMQ_THREAD_AFFINITY to ZMQ_THREAD_AFFINITY_CPU_ADD/REMOVE

commit 2aa0e6fd4d929987e4ee9510da3712b75c186062
Author: f18m <francesco.montorsi@gmail.com>
Date:   Wed Oct 25 09:55:47 2017 +0200

    Change ZMQ_THREAD_AFFINITY to ZMQ_THREAD_AFFINITY_CPU_ADD/ZMQ_THREAD_AFFINITY_CPU_REMOVE. Avoid prefix thread names when no prefix was set.

 doc/zmq_ctx_set.txt        | 24 +++++++++++++++++-------
 include/zmq.h              |  6 +++---
 src/ctx.cpp                | 24 ++++++++++++++++++------
 src/ctx.hpp                |  2 +-
 src/thread.cpp             | 16 +++++++---------
 src/thread.hpp             |  6 +++---
 src/zmq_draft.h            |  6 +++---
 tests/test_ctx_options.cpp | 29 ++++++++++++++++++-----------
 8 files changed, 70 insertions(+), 43 deletions(-)

commit cb266ee073f681b718efe1e54cc18051c6310b0b
Merge: d459542 81327af
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 24 13:05:48 2017 +0100

    Merge pull request #2619 from diorcety/winxp
    
    Partial Windows XP support

commit 81327af5575758eda7499d3d8ab6344f0d4878db
Author: Yann Diorcet <yann.diorcet@xenocs.com>
Date:   Thu Jun 29 01:12:15 2017 +0200

    Partial Windows XP support

 include/zmq.h              |  5 ++---
 src/condition_variable.hpp | 19 ++++++++++++++++---
 src/windows.hpp            |  5 ++---
 3 files changed, 20 insertions(+), 9 deletions(-)

commit d45954217699e706b51c1ddcb755c808492c68d8
Merge: 54ca01a 7ec58b2
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Oct 23 10:49:13 2017 +0100

    Merge pull request #2800 from sigiesec/optimize-blob-t-router
    
    Problem: one missed optimization opportunity for blob_t map lookup

commit 7ec58b279a806bb2c43214a1eae5df13ace4d8eb
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon Oct 23 11:12:15 2017 +0200

    Problem: one missed optimization opportunity for blob_t map lookup
    
    Solution: create referencing blob_t

 src/router.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 54ca01ac0efc37bd90ea0ed7bdb64ed4d17c1113
Merge: 07eb52c a4aceb2
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Oct 22 17:00:57 2017 +0100

    Merge pull request #2799 from sigiesec/optimize-map-ops
    
    Problem: use of std::map::insert is inefficient

commit a4aceb272b12b1da62af72f7ff1f3a2e3ca3e705
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Sun Oct 22 17:05:41 2017 +0200

    Problem: use of std::map::insert is inefficient
    
    Solution: use std::map::emplace instead, where available

 src/ctx.cpp           |  5 +++--
 src/mechanism.cpp     | 14 ++++++--------
 src/pgm_receiver.cpp  |  2 +-
 src/radio.cpp         |  2 +-
 src/server.cpp        |  2 +-
 src/socket_base.cpp   |  4 ++--
 src/stream_engine.cpp |  6 +++---
 7 files changed, 17 insertions(+), 18 deletions(-)

commit 07eb52cbad7dbabc85c5a8cd894fd1208ab5b68c
Merge: 0897b3e 439e49b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Oct 21 16:23:20 2017 +0100

    Merge pull request #2797 from zeromq/fix-zmq-atomic-counter-value-docs
    
    Problem: description of return value is cloned from zmq_atomic_counter_new

commit 439e49bca1000cf88a8a2a121405a2f477c0f37c
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Oct 21 17:21:00 2017 +0200

    Problem: description of return value is cloned from zmq_atomic_counter_new
    
    Solution: provide correct description
    
    Fixes #2789

 doc/zmq_atomic_counter_value.txt | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 0897b3e07b5a78d8ab479bc0846987fc8f768e61
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Oct 21 13:19:51 2017 +0200

    Problem: excessive memory allocations around blob_t (#2796)
    
    * Problem: excessive memory allocations around blob_t
    
    Solution: redefine blob_t as a custom type, and use reference/move
    semantics where possible

 src/blob.hpp          | 239 ++++++++++++++++++++++++++++++--------------------
 src/client.cpp        |   2 +-
 src/client.hpp        |   2 +-
 src/dealer.cpp        |   2 +-
 src/dealer.hpp        |   2 +-
 src/dgram.cpp         |   4 +-
 src/dgram.hpp         |   2 +-
 src/dish.cpp          |   2 +-
 src/dish.hpp          |   2 +-
 src/fq.cpp            |   4 +-
 src/fq.hpp            |   2 +-
 src/gather.cpp        |   2 +-
 src/gather.hpp        |   2 +-
 src/mechanism.cpp     |   6 +-
 src/mechanism.hpp     |   2 +-
 src/pair.cpp          |   4 +-
 src/pair.hpp          |   2 +-
 src/pipe.cpp          |   8 +-
 src/pipe.hpp          |   4 +-
 src/pull.cpp          |   2 +-
 src/pull.hpp          |   2 +-
 src/router.cpp        |  30 +++----
 src/router.hpp        |   2 +-
 src/server.cpp        |   2 +-
 src/server.hpp        |   2 +-
 src/socket_base.cpp   |   6 +-
 src/socket_base.hpp   |   2 +-
 src/stream.cpp        |  12 +--
 src/stream_engine.cpp |   2 +-
 src/xpub.cpp          |   8 +-
 src/xpub.hpp          |   1 -
 src/xsub.cpp          |   2 +-
 src/xsub.hpp          |   2 +-
 33 files changed, 208 insertions(+), 160 deletions(-)

commit cfef04035c7eb9b1c2a64d785d1881bc80977478
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Oct 18 16:27:00 2017 +0200

    Clarify usage of zmq_close (#2792)
    
    * Clarify usage of zmq_close

 doc/zmq_close.txt | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit 2c247271a38ffc2222a9fb2bf36bc65f553c1070
Merge: 835df92 cfb2129
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Oct 18 14:33:09 2017 +0100

    Merge pull request #2793 from sigiesec/timeout-comment
    
    Problem: comment before sndtimeo/rcvtimeo does not specify dimension

commit cfb21295575508e13a2f85df71a9f7a74344858b
Author: sigiesec <simon.giesecke@btc-ag.com>
Date:   Wed Oct 18 15:04:54 2017 +0200

    Problem: comment before sndtimeo/rcvtimeo does not specify dimension
    
    Solution: add "milliseconds"

 src/options.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 835df92241f41654ec736c6b89ca0c2e6fdabee9
Merge: cfe4428 bd2ff7f
Author: Doron Somech <somdoron@gmail.com>
Date:   Tue Oct 17 18:56:52 2017 +0300

    Merge pull request #2791 from bluca/centos6
    
    Problems: DRAFT build broken in CentOS 6, missing bits in documentation

commit cfe44284f7526f45f37c80a68e503c06504c3245
Merge: fe96697 4e1588c
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 15:09:24 2017 +0100

    Merge pull request #2790 from youRFate/master
    
    added note concerning issue 2788 to INSTALL

commit 4e1588c4c3f665257034583f33712e7a0db17fb3
Author: youRFate <paa.christoph@googlemail.com>
Date:   Tue Oct 17 16:04:03 2017 +0200

    added note concerning issue 2788 to INSTALL

 INSTALL | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit bd2ff7fbf8cb64cde9144fc068182828b67361d5
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 13:36:34 2017 +0100

    Problem: DRAFT build broken with old GCC due to missing SIZE_MAX
    
    Solution: define __STDC_LIMIT_MACROS in test_timers.cpp before
    including testutil.hpp so that the definitions are included

 tests/test_timers.cpp | 1 +
 1 file changed, 1 insertion(+)

commit fe96697e8b1c9049b3c2ee4f6ba0d81ea99ab835
Merge: fa5443e 6df5e77
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 13:39:31 2017 +0100

    Merge pull request #2787 from youRFate/master
    
    added libiphlpapi to PKGCFG_LIBS_PRIVATE for static mingw builds

commit 2e2c22dd5b72632ccf095335469481425cc47e6c
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 13:22:29 2017 +0100

    Problem: DRAFT build broken with old GCC due to GNU modifier
    
    Solution: print unsigned integers instead of size_t to avoid the error:
    
      error: ISO C++ does not support the 'z' gnu_printf length modifier
    
    due to very old version of GCC.

 tests/test_router_mandatory.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

commit 6df5e771bb3c8614ab9e851cbba65a2722fe4593
Author: youRFate <paa.christoph@googlemail.com>
Date:   Tue Oct 17 14:29:09 2017 +0200

    added libiphlpapi to PKGCFG_LIBS_PRIVATE for static mingw builds

 configure.ac | 1 +
 1 file changed, 1 insertion(+)

commit 55a347c7dab65f2d345e0e99d52b707563633ea4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 13:20:34 2017 +0100

    Problem: zmq_proxy_steerable manpage does not mention multipart
    
    Solution: mention that the STATISTICS command returns a message with 8
    frames

 doc/zmq_proxy_steerable.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit cc8d3586cd51a008b57602aafdd1cedfc40ef5e0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 13:18:46 2017 +0100

    Problem: formatting error in zmq_ctx_set
    
    Solution: fix it

 doc/zmq_ctx_set.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit fa5443e92f472dea7129a84bdab597045265ad39
Merge: f25cd6e b95ef43
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 13:16:37 2017 +0100

    Merge pull request #2786 from f18m/affinity-scheduling-docs
    
    Increase details in docs

commit b95ef430be33cd3d1962e0ad5ee127933d048ff9
Author: f18m <francesco.montorsi@gmail.com>
Date:   Tue Oct 17 14:11:42 2017 +0200

    Add docs for ZMQ_THREAD_NAME_PREFIX

 doc/zmq_ctx_set.txt | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit e12f3e68c06549bbf334e32f3505d2206b196c35
Author: f18m <francesco.montorsi@gmail.com>
Date:   Tue Oct 17 14:03:53 2017 +0200

    Increase details in docs

 doc/zmq_ctx_set.txt | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

commit f25cd6e7bed3aad57b33cf42fdbe032ce849ee3a
Author: f18m <f18m@users.noreply.github.com>
Date:   Tue Oct 17 13:06:50 2017 +0200

    Background thread names (#2784)
    
    * Add ZMQ_THREAD_NAME_PREFIX ctx option

 include/zmq.h              |  1 +
 src/ctx.cpp                | 15 ++++++++++++++-
 src/ctx.hpp                |  3 ++-
 src/zmq_draft.h            |  1 +
 tests/test_ctx_options.cpp |  8 ++++++++
 5 files changed, 26 insertions(+), 2 deletions(-)

commit 9af03e221421efc44e3077f37dfc963f7937dac2
Merge: 189b551 5311aa9
Author: Doron Somech <somdoron@gmail.com>
Date:   Tue Oct 17 14:03:01 2017 +0300

    Merge pull request #2785 from bluca/travis_norm
    
    Problem: Travis does not build with NORM

commit 5311aa9cd96bddb20fb1782a91efdbdd78ffaed5
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 11:17:13 2017 +0100

    Problem: Travis does not build with NORM
    
    Solution: install package and enable the build on some Linux jobs

 .travis.yml | 6 ++++--
 ci_build.sh | 4 ++++
 2 files changed, 8 insertions(+), 2 deletions(-)

commit 189b551b404773cd41d8ecb0ade9c5e0fd2e002e
Merge: 920288b e2678b8
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Oct 17 11:08:00 2017 +0100

    Merge pull request #2783 from f18m/docs-proxy-stats
    
    Add documentation for new steerable proxy command

commit e2678b8b111ce75dd40e7a95323b19afa901ad1b
Author: f18m <francesco.montorsi@gmail.com>
Date:   Tue Oct 17 11:08:09 2017 +0200

    Add documentation for new steerable proxy command

 doc/zmq_proxy_steerable.txt | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

commit 920288b5b7a2788cde99bb0348b973dc00c80998
Merge: 39ad27c 9ad8ddf
Author: Jim Klimov <jimklimov@gmail.com>
Date:   Tue Oct 17 02:29:25 2017 +0200

    Merge pull request #2781 from bluca/norm_pkgconfig
    
    Problems: autoconf does not use pkgconfig for NORM, deb packages do not build with libnorm

commit 9ad8ddf401679c2b47bbd55885ce0b055761e2a5
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Oct 16 23:24:55 2017 +0100

    Problem: deb packages do not build with libnorm
    
    Solution: add dependency and configure flag

 packaging/debian/control        | 1 +
 packaging/debian/rules          | 2 +-
 packaging/debian/zeromq.dsc.obs | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

commit 78cdff3a3e8a06824035080663b071eb5dbf8229
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Oct 16 23:23:32 2017 +0100

    Problem: autoconf does not use pkgconfig for NORM
    
    Solution: use the pkgconfig macro as the first step and then fallback
    to manual checks

 Makefile.am  |  5 +++++
 configure.ac | 30 ++++++++++++++++++++----------
 2 files changed, 25 insertions(+), 10 deletions(-)

commit 39ad27c970232aa88b9d79c5d8b74692dc019fdc
Merge: bfbb4ff e5e83c5
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Mon Oct 16 14:05:21 2017 +0200

    Merge pull request #2779 from bluca/thread_fixes
    
    Problems: no documentation for new thread affinity and priority options, test_ctx_options only checks global DRAFT flag

commit e5e83c53e52e38662bc2d7ac3aaf964bd869df1b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Oct 16 12:43:34 2017 +0100

    Problem: ZMQ_THREAD_AFFINITY is not documented
    
    Solution: add a section in zmq_ctx_set's manpage

 doc/zmq_ctx_set.txt | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit 1478517e1a92aeba1e2b784a478825818636d3ac
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Oct 16 12:42:59 2017 +0100

    Problem: use of nice() for ZMQ_THREAD_PRIORITY not documented
    
    Solution: mention that it is used on Linux when SCHED_OTHER is selected

 doc/zmq_ctx_set.txt | 2 ++
 1 file changed, 2 insertions(+)

commit 4c2a95eab27a7622008a3365eadaa5fa9824dfbf
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Oct 16 12:34:13 2017 +0100

    Problem: test_ctx_options only checks global DRAFT flag
    
    Solution: this will break once the tested APIs move from DRAFT to STABLE
    so instead check for the specific macros.

 tests/test_ctx_options.cpp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit bfbb4ff2e9297c71756241dffbe69e81d01d6277
Author: f18m <f18m@users.noreply.github.com>
Date:   Mon Oct 16 13:29:03 2017 +0200

    Background threads enhancements (#2778)
    
    * Background thread scheduling
    
    - add ZMQ_THREAD_AFFINITY ctx option; set all thread scheduling options
    from the context of the secondary thread instead of using the main
    process thread context!
    - change ZMQ_THREAD_PRIORITY to support setting NICE of the background
    thread when using SCHED_OTHER

 CMakeLists.txt                                |   1 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake |  19 +++++
 configure.ac                                  |  16 ++++
 include/zmq.h                                 |   2 +
 src/ctx.cpp                                   |  10 ++-
 src/ctx.hpp                                   |   1 +
 src/thread.cpp                                |  66 ++++++++++++---
 src/thread.hpp                                |  11 ++-
 src/zmq_draft.h                               |   2 +
 tests/test_ctx_options.cpp                    | 116 ++++++++++++++++++++++++--
 10 files changed, 226 insertions(+), 18 deletions(-)

commit 577e713e2cf3206f2d7a11227ff75c173351157a
Merge: 23da234 5f03120
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Fri Oct 13 08:56:19 2017 +0200

    Merge pull request #2775 from arsenm/master
    
    Add my RELICENSE

commit 5f03120ac5a201c08364c78338df34429db5d564
Author: Matt Arsenault <arsenm2@gmail.com>
Date:   Thu Oct 12 22:14:39 2017 -0700

    Add my RELICENSE

 RELICENSE/arsenm.md | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit 23da2347bd590282973e4208b85af3a75ebcc100
Merge: 136431e b6aee51
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Mon Oct 9 20:29:08 2017 +0200

    Merge pull request #2773 from bluca/zap
    
    Problems: strict ZAP protocol adherence is backward incompatible, minor static analysis warnings

commit b6aee51691e5ee3dcd6ca2f1c1a40e4d80f5c5a3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Oct 7 18:34:18 2017 +0100

    Problem: strict ZAP protocol adherence is backward incompatible
    
    Solution: add ZMQ_ZAP_ENFORCE_DOMAIN to hide backward incompatible
    change and make it disabled by default.
    In a future release that breaks API compatibility we can then switch
    the default to enabled in order to achieve full RFC compatibility.
    
    Fixes #2762

 doc/zmq_getsockopt.txt      | 12 ++++++++++++
 doc/zmq_setsockopt.txt      | 20 +++++++++++++++++++-
 include/zmq.h               |  1 +
 src/curve_server.cpp        |  8 +++++++-
 src/options.cpp             | 18 +++++++++++++++++-
 src/options.hpp             |  3 +++
 src/plain_server.cpp        |  5 ++++-
 src/zmq_draft.h             |  1 +
 tests/test_security_zap.cpp |  2 ++
 tests/testutil_security.hpp |  7 +++++++
 10 files changed, 73 insertions(+), 4 deletions(-)

commit 50bddbaac969e6faf09cb0ebdeb79aed90a6247d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Oct 7 18:16:32 2017 +0100

    Problem: dead code in options.hpp
    
    Solution: remove unused zap_ipc_creds boolean variable

 src/options.hpp | 1 -
 1 file changed, 1 deletion(-)

commit e3ee55b191c0236adb6a547e5dd59f709fac9195
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Oct 7 18:05:21 2017 +0100

    Problem: missing indentation for UDP branch
    
    Solution: fix it

 src/socket_base.cpp | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit c8f3f8a5dab4cd89dc6fb80f84fa3fa23c944003
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Oct 7 18:03:51 2017 +0100

    Problem: ambiguos bitwise ANDs in if statements
    
    Solution: wrap bitwise ANDs in brackets as the static analyzer suggests

 src/socket_base.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 136431ebf7f7860a71dfeb11ce3341746d4a7d9b
Merge: a6de31f ed64585
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Oct 7 21:53:24 2017 +0200

    Merge pull request #2769 from bluca/ipc_fixes

commit a6de31fff6ba3a4ca621beb18fd292fe25bb6d42
Merge: 9be8ceb 6a9dec3
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Fri Oct 6 23:42:04 2017 +0200

    Merge pull request #2771 from bluca/lcov_autoconf
    
    Problem: lcov autoconf macro out of date

commit 6a9dec30a936e33e86474c57cc0d6fa9a975c056
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Oct 6 19:37:44 2017 +0100

    Problem: lcov autoconf macro out of date
    
    Solution: update it

 m4/ax_code_coverage.m4 | 121 +++++++++++++++++++++----------------------------
 1 file changed, 52 insertions(+), 69 deletions(-)

commit ed64585e93233a89a16dd27b96aa3c35180335b9
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Oct 6 11:12:13 2017 +0100

    Problem: test_rebind_ipc might not see race condition on fast envs
    
    Solution: pre-create the second socket to save a few cycles between
    closing the old one and binding the new one

 tests/test_rebind_ipc.cpp | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

commit 53f463a3fab6be6a8d15ba4edc32924f0339a72d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Oct 6 11:08:40 2017 +0100

    Problem: test_rebind_ipc uses generic socket file name
    
    Solution: name it after the test to avoid possible clashes when
    running tests in parallel.

 tests/test_rebind_ipc.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7ad06f144952d72e8b36c53313a789b6a441e758
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Oct 6 09:53:59 2017 +0100

    Problem: IPC event_closed logs -1 as the FD
    
    Solution: take a copy of the file descriptor before setting it to
    retired_fd.

 src/ipc_listener.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 9be8cebd21c4747e5208ea7ee3cb4b8a84cab08f
Merge: 01a3f39 656cdb9
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Oct 6 09:25:33 2017 +0100

    Merge pull request #2765 from GreatFruitOmsk/issue-2764
    
    Problem: Race condition in IPC sockets

commit 656cdb959a7482c45db979c1d08ede585d12e315
Author: Ilya Kulakov <kulakov.ilya@gmail.com>
Date:   Thu Oct 5 14:29:25 2017 -0700

    Problem: Race condition in IPC sockets
    
    Solution: Don't unlink file on close
    
    File may not belong to the socket at that point.

 .gitignore                    |  1 +
 Makefile.am                   |  4 +++
 builds/gyp/project-tests.gypi | 11 ++++++
 builds/gyp/project-tests.xml  |  1 +
 src/ipc_listener.cpp          | 13 ++-----
 tests/CMakeLists.txt          |  1 +
 tests/test_rebind_ipc.cpp     | 83 +++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 103 insertions(+), 11 deletions(-)

commit 01a3f3955c04803e0131ea5e7e08788a138924d8
Merge: 99c5277 02c4646
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Oct 5 21:18:19 2017 +0100

    Merge pull request #2768 from ADDubovik/master
    
    fix build for msvc2017

commit 02c46463d79bc9ff7c75bfd12e5ae5ab17e252c4
Author: Alexander Dubovik <dubovik_a_d@mail.ru>
Date:   Thu Oct 5 22:46:29 2017 +0300

    fix build for msvc2017

 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  179 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  113 +
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1083 +++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 FindSodium.cmake                                   |   40 +
 INSTALL                                            |  301 +++
 Makefile.am                                        |  899 ++++++++
 NEWS                                               | 1346 ++++++++++++
 README.cygwin.md                                   |   15 +
 README.doxygen.md                                  |   48 +
 README.md                                          |  102 +
 RELICENSE/AndreLouisCaron.md                       |   15 +
 RELICENSE/Asmod4n.md                               |   13 +
 RELICENSE/BerndPrager.md                           |   13 +
 RELICENSE/Bklyn.md                                 |   15 +
 RELICENSE/BrianBuchanan.md                         |   15 +
 RELICENSE/ChuckRemes.md                            |   15 +
 RELICENSE/FrancoFichtner.md                        |   15 +
 RELICENSE/GavinMcNiff.md                           |   15 +
 RELICENSE/GhislainPutois.md                        |   15 +
 RELICENSE/GiuseppeCorbelli.md                      |   15 +
 RELICENSE/HaraldAchitz.md                          |   17 +
 RELICENSE/Hugne.md                                 |   17 +
 RELICENSE/JimHague.md                              |   16 +
 RELICENSE/JohanMabille.md                          |   16 +
 RELICENSE/LeonardMichelet                          |   14 +
 RELICENSE/LeonardoConsoni.md                       |   15 +
 RELICENSE/LionelOrry.md                            |   15 +
 RELICENSE/OsirisPedroso.md                         |   15 +
 RELICENSE/README.md                                |   23 +
 RELICENSE/RobGagnon.md                             |   13 +
 RELICENSE/SebastienRombauts.md                     |   15 +
 RELICENSE/StoianIvanov.md                          |   15 +
 RELICENSE/SylvainCorlay.md                         |   16 +
 RELICENSE/TimotheeBesset.md                        |   15 +
 RELICENSE/VincentTellier.md                        |   15 +
 RELICENSE/VolodymyrKorniichuk.md                   |   15 +
 RELICENSE/abbradar.md                              |   16 +
 RELICENSE/agronholm.md                             |   15 +
 RELICENSE/amuraru.md                               |   15 +
 RELICENSE/aseering.md                              |   15 +
 RELICENSE/bjorntopel.md                            |   16 +
 RELICENSE/bjovke.md                                |   16 +
 RELICENSE/brocade_communications_systems.md        |   15 +
 RELICENSE/brunobodin.md                            |   13 +
 RELICENSE/c-rack.md                                |   15 +
 RELICENSE/camachat.md                              |   15 +
 RELICENSE/cdolan.md                                |   15 +
 RELICENSE/chrisstaite.md                           |   14 +
 RELICENSE/chugga_fan.md                            |   15 +
 RELICENSE/cjuniet.md                               |   15 +
 RELICENSE/ckamm.md                                 |   15 +
 RELICENSE/clkao.md                                 |   15 +
 RELICENSE/danielhtshih.md                          |   15 +
 RELICENSE/danriegsecker.md                         |   16 +
 RELICENSE/dfons.md                                 |   16 +
 RELICENSE/djelenc.md                               |   15 +
 RELICENSE/drodri.md                                |   15 +
 RELICENSE/eburkitt.md                              |   15 +
 RELICENSE/egomotion.md                             |   16 +
 RELICENSE/evoskuil.md                              |   15 +
 RELICENSE/febeling.md                              |   16 +
 RELICENSE/fidlej.md                                |   15 +
 RELICENSE/flub.md                                  |   14 +
 RELICENSE/gena-moscow.md                           |   15 +
 RELICENSE/gonzus.md                                |   15 +
 RELICENSE/goodfella_ltd.md                         |   13 +
 RELICENSE/google.md                                |   13 +
 RELICENSE/ianbarber.md                             |   15 +
 RELICENSE/imatix.md                                |   23 +
 RELICENSE/jakecobb.md                              |   13 +
 RELICENSE/jemc.md                                  |   15 +
 RELICENSE/jimklimov.md                             |   17 +
 RELICENSE/jkryl.md                                 |   15 +
 RELICENSE/johntconklin.md                          |   15 +
 RELICENSE/jruffin.md                               |   14 +
 RELICENSE/kentzo.md                                |   15 +
 RELICENSE/kevinsapper.md                           |   13 +
 RELICENSE/kobolog.md                               |   12 +
 RELICENSE/kurdybacha.md                            |   15 +
 RELICENSE/linville.md                              |   15 +
 RELICENSE/loachfish.md                             |   15 +
 RELICENSE/lodagro.md                               |   15 +
 RELICENSE/madebr.md                                |   15 +
 RELICENSE/mattconnolly.md                          |   15 +
 RELICENSE/mauri-melato.md                          |   13 +
 RELICENSE/mditzel.md                               |   15 +
 RELICENSE/meox.md                                  |   15 +
 RELICENSE/michael-fox.md                           |   16 +
 RELICENSE/michicc.md                               |   15 +
 RELICENSE/minrk.md                                 |   15 +
 RELICENSE/mipaaa.md                                |   15 +
 RELICENSE/mkluwe.md                                |   15 +
 RELICENSE/montoyaedu.md                            |   15 +
 RELICENSE/naos_ltd.md                              |   19 +
 RELICENSE/natano.md                                |   15 +
 RELICENSE/olafmandel.md                            |   13 +
 RELICENSE/pijyoi.md                                |   13 +
 RELICENSE/ptroja.md                                |   14 +
 RELICENSE/reunanen.md                              |   15 +
 RELICENSE/reza-ebrahimi.md                         |   15 +
 RELICENSE/rikvdh.md                                |   15 +
 RELICENSE/rlenferink.md                            |   15 +
 RELICENSE/roalz.md                                 |   13 +
 RELICENSE/rodgert.md                               |   17 +
 RELICENSE/rotty.md                                 |   16 +
 RELICENSE/sabae.md                                 |   15 +
 RELICENSE/scemama.md                               |   15 +
 RELICENSE/sheremetyev.md                           |   13 +
 RELICENSE/shripchenko.md                           |   15 +
 RELICENSE/sigiesec.md                              |   17 +
 RELICENSE/soulik.md                                |   15 +
 RELICENSE/swansontec.md                            |   15 +
 RELICENSE/t-b.md                                   |   15 +
 RELICENSE/tSed.md                                  |   15 +
 RELICENSE/tabe.md                                  |   15 +
 RELICENSE/tailhook.md                              |   16 +
 RELICENSE/taotetek.md                              |   13 +
 .../templates/relicense-template-mplv2-any-osi.txt |   15 +
 .../relicense-template-mplv2-share-alike-osi.txt   |   15 +
 RELICENSE/templates/relicense-template-mplv2.txt   |   13 +
 RELICENSE/thompsa.md                               |   15 +
 RELICENSE/torehalvorsen.md                         |   15 +
 RELICENSE/twhittock.md                             |   15 +
 RELICENSE/ulikoehler.md                            |   16 +
 RELICENSE/vyskocilm.md                             |    7 +
 RELICENSE/willstrang.md                            |   15 +
 RELICENSE/xaqq.md                                  |   13 +
 RELICENSE/yuvallanger.md                           |   15 +
 ZeroMQConfig.cmake.in                              |   25 +
 acinclude.m4                                       | 1122 ++++++++++
 appveyor.yml                                       |   81 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   31 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   78 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  282 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ci_build.sh                           |   34 +
 builds/cmake/platform.hpp.in                       |  103 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   79 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  884 ++++++++
 builds/gyp/project-tests.xml                       |   82 +
 builds/gyp/project.gyp                             |  295 +++
 builds/mingw32/Makefile.mingw32                    |   49 +
 builds/mingw32/platform.hpp                        |   43 +
 builds/msvc/.gitignore                             |  256 +++
 builds/msvc/Makefile.am                            |   94 +
 builds/msvc/build/build.bat                        |   33 +
 builds/msvc/build/buildall.bat                     |   16 +
 builds/msvc/build/buildbase.bat                    |   73 +
 builds/msvc/errno.cpp                              |   32 +
 builds/msvc/errno.hpp                              |   56 +
 builds/msvc/platform.hpp                           |   14 +
 builds/msvc/properties/Common.props                |   21 +
 builds/msvc/properties/DLL.props                   |   16 +
 builds/msvc/properties/Debug.props                 |   29 +
 builds/msvc/properties/DebugDEXE.props             |   21 +
 builds/msvc/properties/DebugDLL.props              |   20 +
 builds/msvc/properties/DebugLEXE.props             |   20 +
 builds/msvc/properties/DebugLIB.props              |   21 +
 builds/msvc/properties/DebugLTCG.props             |   20 +
 builds/msvc/properties/DebugSEXE.props             |   21 +
 builds/msvc/properties/EXE.props                   |   17 +
 builds/msvc/properties/LIB.props                   |   16 +
 builds/msvc/properties/LTCG.props                  |   13 +
 builds/msvc/properties/Link.props                  |   21 +
 builds/msvc/properties/Messages.props              |   15 +
 builds/msvc/properties/Output.props                |   30 +
 builds/msvc/properties/Release.props               |   41 +
 builds/msvc/properties/ReleaseDEXE.props           |   20 +
 builds/msvc/properties/ReleaseDLL.props            |   19 +
 builds/msvc/properties/ReleaseLEXE.props           |   20 +
 builds/msvc/properties/ReleaseLIB.props            |   19 +
 builds/msvc/properties/ReleaseLTCG.props           |   19 +
 builds/msvc/properties/ReleaseSEXE.props           |   20 +
 builds/msvc/properties/Win32.props                 |   20 +
 builds/msvc/properties/x64.props                   |   23 +
 builds/msvc/readme.txt                             |   27 +
 builds/msvc/resource.h                             |   14 +
 builds/msvc/resource.rc                            |  Bin 0 -> 4650 bytes
 builds/msvc/vs2008/inproc_lat/inproc_lat.vcproj    |   52 +
 builds/msvc/vs2008/inproc_thr/inproc_thr.vcproj    |   52 +
 builds/msvc/vs2008/libzmq.sln                      |   95 +
 builds/msvc/vs2008/libzmq/libzmq.vcproj            |  338 +++
 builds/msvc/vs2008/local_lat/local_lat.vcproj      |   52 +
 builds/msvc/vs2008/local_thr/local_thr.vcproj      |   52 +
 builds/msvc/vs2008/remote_lat/remote_lat.vcproj    |   52 +
 builds/msvc/vs2008/remote_thr/remote_thr.vcproj    |   52 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2010/libsodium.import.props          |   52 +
 builds/msvc/vs2010/libsodium.import.xml            |   17 +
 builds/msvc/vs2010/libzmq.import.props             |   64 +
 builds/msvc/vs2010/libzmq.import.xml               |   49 +
 builds/msvc/vs2010/libzmq.sln                      |  206 ++
 builds/msvc/vs2010/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2010/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2010/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2010/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2010/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2010/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2010/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2012/libsodium.import.props          |   52 +
 builds/msvc/vs2012/libsodium.import.xml            |   17 +
 builds/msvc/vs2012/libzmq.import.props             |   64 +
 builds/msvc/vs2012/libzmq.import.xml               |   49 +
 builds/msvc/vs2012/libzmq.sln                      |  206 ++
 builds/msvc/vs2012/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2012/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2012/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2012/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2012/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2012/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2012/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2013/libsodium.import.props          |   52 +
 builds/msvc/vs2013/libsodium.import.xml            |   17 +
 builds/msvc/vs2013/libzmq.import.props             |   64 +
 builds/msvc/vs2013/libzmq.import.xml               |   49 +
 builds/msvc/vs2013/libzmq.sln                      |  208 ++
 builds/msvc/vs2013/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2013/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2013/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2013/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2013/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2013/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2013/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2015/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2015/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2015/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2015/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2015/libsodium.import.props          |   52 +
 builds/msvc/vs2015/libsodium.import.xml            |   17 +
 builds/msvc/vs2015/libzmq.import.props             |   64 +
 builds/msvc/vs2015/libzmq.import.xml               |   49 +
 builds/msvc/vs2015/libzmq.sln                      |  208 ++
 builds/msvc/vs2015/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2015/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2015/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2015/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2015/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2015/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2015/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2015/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2015/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2015/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2015/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2015/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2015_xp/libzmq.vcxproj               |  258 +++
 builds/msvc/vs2015_xp/platform.hpp                 |   15 +
 .../msvc/vs2015_xp/test_zmq/test_multithread.cpp   |  229 ++
 builds/msvc/vs2015_xp/test_zmq/test_zmq.vcxproj    |  155 ++
 builds/msvc/vs2017/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2017/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2017/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2017/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2017/libsodium.import.props          |   52 +
 builds/msvc/vs2017/libsodium.import.xml            |   17 +
 builds/msvc/vs2017/libzmq.import.props             |   64 +
 builds/msvc/vs2017/libzmq.import.xml               |   49 +
 builds/msvc/vs2017/libzmq.sln                      |  208 ++
 builds/msvc/vs2017/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2017/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2017/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2017/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2017/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2017/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2017/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2017/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2017/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2017/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2017/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2017/remote_thr/remote_thr.vcxproj   |   82 +
 builds/nuget/libzmq.autopkg                        |   52 +
 builds/nuget/readme.nuget                          |   20 +
 builds/openwrt/Makefile                            |   70 +
 builds/valgrind/ci_build.sh                        |   30 +
 builds/valgrind/valgrind.supp                      |   22 +
 builds/valgrind/vg                                 |    1 +
 builds/zos/README.md                               |  463 ++++
 builds/zos/cxxall                                  |   62 +
 builds/zos/makeclean                               |   36 +
 builds/zos/makelibzmq                              |   54 +
 builds/zos/maketests                               |  102 +
 builds/zos/platform.hpp                            |  300 +++
 builds/zos/runtests                                |  188 ++
 builds/zos/test_fork.cpp                           |   95 +
 builds/zos/zc++                                    |   42 +
 ci_build.sh                                        |   62 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  793 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  276 +++
 doc/zmq_atomic_counter_dec.txt                     |   62 +
 doc/zmq_atomic_counter_destroy.txt                 |   62 +
 doc/zmq_atomic_counter_inc.txt                     |   61 +
 doc/zmq_atomic_counter_new.txt                     |   62 +
 doc/zmq_atomic_counter_set.txt                     |   61 +
 doc/zmq_atomic_counter_value.txt                   |   60 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   52 +
 doc/zmq_connect.txt                                |  101 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  105 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  141 ++
 doc/zmq_ctx_shutdown.txt                           |   52 +
 doc/zmq_ctx_term.txt                               |   68 +
 doc/zmq_curve.txt                                  |   92 +
 doc/zmq_curve_keypair.txt                          |   56 +
 doc/zmq_curve_public.txt                           |   62 +
 doc/zmq_disconnect.txt                             |   75 +
 doc/zmq_errno.txt                                  |   50 +
 doc/zmq_getsockopt.txt                             |  932 ++++++++
 doc/zmq_gssapi.txt                                 |   78 +
 doc/zmq_has.txt                                    |   44 +
 doc/zmq_init.txt                                   |   52 +
 doc/zmq_inproc.txt                                 |   88 +
 doc/zmq_ipc.txt                                    |  106 +
 doc/zmq_msg_close.txt                              |   56 +
 doc/zmq_msg_copy.txt                               |   72 +
 doc/zmq_msg_data.txt                               |   48 +
 doc/zmq_msg_get.txt                                |   83 +
 doc/zmq_msg_gets.txt                               |   81 +
 doc/zmq_msg_init.txt                               |   64 +
 doc/zmq_msg_init_data.txt                          |   89 +
 doc/zmq_msg_init_size.txt                          |   58 +
 doc/zmq_msg_more.txt                               |   65 +
 doc/zmq_msg_move.txt                               |   52 +
 doc/zmq_msg_recv.txt                               |  124 ++
 doc/zmq_msg_routing_id.txt                         |   61 +
 doc/zmq_msg_send.txt                               |  127 ++
 doc/zmq_msg_set.txt                                |   46 +
 doc/zmq_msg_set_routing_id.txt                     |   46 +
 doc/zmq_msg_size.txt                               |   48 +
 doc/zmq_null.txt                                   |   27 +
 doc/zmq_pgm.txt                                    |  164 ++
 doc/zmq_plain.txt                                  |   37 +
 doc/zmq_poll.txt                                   |  135 ++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |   99 +
 doc/zmq_recv.txt                                   |   91 +
 doc/zmq_recvmsg.txt                                |  121 +
 doc/zmq_send.txt                                   |  104 +
 doc/zmq_send_const.txt                             |  103 +
 doc/zmq_sendmsg.txt                                |  121 +
 doc/zmq_setsockopt.txt                             | 1300 +++++++++++
 doc/zmq_socket.txt                                 |  609 +++++
 doc/zmq_socket_monitor.txt                         |  265 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |   99 +
 doc/zmq_unbind.txt                                 |   90 +
 doc/zmq_version.txt                                |   54 +
 doc/zmq_vmci.txt                                   |   97 +
 doc/zmq_z85_decode.txt                             |   51 +
 doc/zmq_z85_encode.txt                             |   58 +
 include/zmq.h                                      |  705 ++++++
 include/zmq_utils.h                                |   48 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  281 +++
 m4/ax_cxx_compile_stdcxx.m4                        |  562 +++++
 m4/ax_cxx_compile_stdcxx_11.m4                     |   40 +
 m4/ax_valgrind_check.m4                            |  233 ++
 packaging/README                                   |    4 +
 packaging/debian/changelog                         |    5 +
 packaging/debian/compat                            |    1 +
 packaging/debian/control                           |   63 +
 packaging/debian/copyright                         |   93 +
 packaging/debian/libzmq3-dev.install               |    4 +
 packaging/debian/libzmq3-dev.manpages              |    2 +
 packaging/debian/libzmq5.docs                      |    2 +
 packaging/debian/libzmq5.install                   |    1 +
 packaging/debian/rules                             |   61 +
 packaging/debian/source/format                     |    1 +
 packaging/debian/zeromq.dsc.obs                    |   15 +
 packaging/nuget/package.bat                        |   14 +
 packaging/nuget/package.config                     |    6 +
 packaging/nuget/package.gsl                        |  264 +++
 packaging/nuget/package.nuspec                     |   98 +
 packaging/nuget/package.targets                    |  129 ++
 packaging/nuget/package.xml                        |   22 +
 packaging/obs/_service                             |   86 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  240 ++
 perf/inproc_thr.cpp                                |  250 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  160 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  135 ++
 src/address.cpp                                    |  134 ++
 src/address.hpp                                    |   77 +
 src/array.hpp                                      |  167 ++
 src/atomic_counter.hpp                             |  249 +++
 src/atomic_ptr.hpp                                 |  227 ++
 src/blob.hpp                                       |  139 ++
 src/client.cpp                                     |  116 +
 src/client.hpp                                     |   81 +
 src/clock.cpp                                      |  253 +++
 src/clock.hpp                                      |   83 +
 src/command.hpp                                    |  188 ++
 src/condition_variable.hpp                         |  266 +++
 src/config.hpp                                     |   98 +
 src/ctx.cpp                                        |  612 ++++++
 src/ctx.hpp                                        |  240 ++
 src/curve_client.cpp                               |  297 +++
 src/curve_client.hpp                               |   87 +
 src/curve_client_tools.hpp                         |  307 +++
 src/curve_mechanism_base.cpp                       |  181 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  486 ++++
 src/curve_server.hpp                               |   94 +
 src/dbuffer.hpp                                    |  144 ++
 src/dealer.cpp                                     |  143 ++
 src/dealer.hpp                                     |   89 +
 src/decoder.hpp                                    |  198 ++
 src/decoder_allocators.cpp                         |  144 ++
 src/decoder_allocators.hpp                         |  155 ++
 src/devpoll.cpp                                    |  205 ++
 src/devpoll.hpp                                    |  119 +
 src/dgram.cpp                                      |  177 ++
 src/dgram.hpp                                      |   81 +
 src/dish.cpp                                       |  360 +++
 src/dish.hpp                                       |  125 ++
 src/dist.cpp                                       |  235 ++
 src/dist.hpp                                       |  120 +
 src/encoder.hpp                                    |  189 ++
 src/epoll.cpp                                      |  206 ++
 src/epoll.hpp                                      |  119 +
 src/err.cpp                                        |  447 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   52 +
 src/fq.cpp                                         |  163 ++
 src/fq.hpp                                         |   92 +
 src/gather.cpp                                     |   94 +
 src/gather.hpp                                     |   75 +
 src/gssapi_client.cpp                              |  237 ++
 src/gssapi_client.hpp                              |   94 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  134 ++
 src/gssapi_server.cpp                              |  249 +++
 src/gssapi_server.hpp                              |   95 +
 src/i_decoder.hpp                                  |   64 +
 src/i_encoder.hpp                                  |   60 +
 src/i_engine.hpp                                   |   68 +
 src/i_mailbox.hpp                                  |   60 +
 src/i_poll_events.hpp                              |   55 +
 src/io_object.cpp                                  |  117 +
 src/io_object.hpp                                  |   89 +
 src/io_thread.cpp                                  |  114 +
 src/io_thread.hpp                                  |   99 +
 src/ip.cpp                                         |  235 ++
 src/ip.hpp                                         |   64 +
 src/ipc_address.cpp                                |  106 +
 src/ipc_address.hpp                                |   74 +
 src/ipc_connecter.cpp                              |  278 +++
 src/ipc_connecter.hpp                              |  135 ++
 src/ipc_listener.cpp                               |  435 ++++
 src/ipc_listener.hpp                               |  123 ++
 src/kqueue.cpp                                     |  227 ++
 src/kqueue.hpp                                     |  127 ++
 src/lb.cpp                                         |  173 ++
 src/lb.hpp                                         |   88 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   12 +
 src/mailbox.cpp                                    |  101 +
 src/mailbox.hpp                                    |   90 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   94 +
 src/mechanism.cpp                                  |  287 +++
 src/mechanism.hpp                                  |  152 ++
 src/mechanism_base.cpp                             |   70 +
 src/mechanism_base.hpp                             |   53 +
 src/metadata.cpp                                   |   62 +
 src/metadata.hpp                                   |   70 +
 src/msg.cpp                                        |  578 +++++
 src/msg.hpp                                        |  268 +++
 src/mtrie.cpp                                      |  434 ++++
 src/mtrie.hpp                                      |  102 +
 src/mutex.hpp                                      |  213 ++
 src/norm_engine.cpp                                |  736 +++++++
 src/norm_engine.hpp                                |  190 ++
 src/null_mechanism.cpp                             |  220 ++
 src/null_mechanism.hpp                             |   77 +
 src/object.cpp                                     |  476 ++++
 src/object.hpp                                     |  156 ++
 src/options.cpp                                    | 1073 +++++++++
 src/options.hpp                                    |  249 +++
 src/own.cpp                                        |  216 ++
 src/own.hpp                                        |  154 ++
 src/pair.cpp                                       |  142 ++
 src/pair.hpp                                       |   78 +
 src/pgm_receiver.cpp                               |  307 +++
 src/pgm_receiver.hpp                               |  147 ++
 src/pgm_sender.cpp                                 |  257 +++
 src/pgm_sender.hpp                                 |  124 ++
 src/pgm_socket.cpp                                 |  712 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  547 +++++
 src/pipe.hpp                                       |  253 +++
 src/plain_client.cpp                               |  220 ++
 src/plain_client.hpp                               |   79 +
 src/plain_server.cpp                               |  250 +++
 src/plain_server.hpp                               |   71 +
 src/poll.cpp                                       |  193 ++
 src/poll.hpp                                       |  121 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  110 +
 src/poller_base.hpp                                |   95 +
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  121 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  121 +
 src/proxy.cpp                                      |  622 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   63 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   75 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   73 +
 src/radio.cpp                                      |  252 +++
 src/radio.hpp                                      |  112 +
 src/random.cpp                                     |  118 +
 src/random.hpp                                     |   52 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   74 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   64 +
 src/reaper.cpp                                     |  142 ++
 src/reaper.hpp                                     |   94 +
 src/rep.cpp                                        |  134 ++
 src/rep.hpp                                        |   73 +
 src/req.cpp                                        |  323 +++
 src/req.hpp                                        |  121 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  147 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   73 +
 src/select.cpp                                     |  524 +++++
 src/select.hpp                                     |  176 ++
 src/server.cpp                                     |  184 ++
 src/server.hpp                                     |   96 +
 src/session_base.cpp                               |  716 ++++++
 src/session_base.hpp                               |  173 ++
 src/signaler.cpp                                   |  682 ++++++
 src/signaler.hpp                                   |   91 +
 src/socket_base.cpp                                | 1776 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  693 ++++++
 src/socket_poller.hpp                              |  145 ++
 src/socks.cpp                                      |  286 +++
 src/socks.hpp                                      |  135 ++
 src/socks_connecter.cpp                            |  482 ++++
 src/socks_connecter.hpp                            |  163 ++
 src/stdint.hpp                                     |   74 +
 src/stream.cpp                                     |  321 +++
 src/stream.hpp                                     |  107 +
 src/stream_engine.cpp                              | 1110 ++++++++++
 src/stream_engine.hpp                              |  233 ++
 src/sub.cpp                                        |   87 +
 src/sub.hpp                                        |   64 +
 src/tcp.cpp                                        |  356 +++
 src/tcp.hpp                                        |   69 +
 src/tcp_address.cpp                                |  897 ++++++++
 src/tcp_address.hpp                                |  117 +
 src/tcp_connecter.cpp                              |  426 ++++
 src/tcp_connecter.hpp                              |  134 ++
 src/tcp_listener.cpp                               |  357 +++
 src/tcp_listener.hpp                               |   98 +
 src/thread.cpp                                     |  194 ++
 src/thread.hpp                                     |   93 +
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  110 +
 src/tipc_address.cpp                               |  124 ++
 src/tipc_address.hpp                               |   75 +
 src/tipc_connecter.cpp                             |  268 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  190 ++
 src/tipc_listener.hpp                              |  107 +
 src/trie.cpp                                       |  340 +++
 src/trie.hpp                                       |   86 +
 src/tweetnacl.c                                    |  988 +++++++++
 src/tweetnacl.h                                    |   75 +
 src/udp_address.cpp                                |  172 ++
 src/udp_address.hpp                                |   78 +
 src/udp_engine.cpp                                 |  394 ++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  153 ++
 src/v1_decoder.hpp                                 |   69 +
 src/v1_encoder.cpp                                 |   76 +
 src/v1_encoder.hpp                                 |   59 +
 src/v2_decoder.cpp                                 |  161 ++
 src/v2_decoder.hpp                                 |   74 +
 src/v2_encoder.cpp                                 |   78 +
 src/v2_encoder.hpp                                 |   59 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |   88 +
 src/vmci.hpp                                       |   61 +
 src/vmci_address.cpp                               |  170 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  307 +++
 src/vmci_connecter.hpp                             |  136 ++
 src/vmci_listener.cpp                              |  262 +++
 src/vmci_listener.hpp                              |  102 +
 src/windows.hpp                                    |   94 +
 src/wire.hpp                                       |  108 +
 src/xpub.cpp                                       |  340 +++
 src/xpub.hpp                                       |  127 ++
 src/xsub.cpp                                       |  251 +++
 src/xsub.hpp                                       |  103 +
 src/ypipe.hpp                                      |  218 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  137 ++
 src/yqueue.hpp                                     |  225 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  100 +
 src/zmq.cpp                                        | 1527 +++++++++++++
 src/zmq_draft.h                                    |  174 ++
 src/zmq_utils.cpp                                  |  319 +++
 tests/CMakeLists.txt                               |  212 ++
 tests/README.md                                    |   28 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_ancillaries.cpp                         |   51 +
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  162 ++
 tests/test_bind_after_connect_tcp.cpp              |   97 +
 tests/test_bind_src_address.cpp                    |   57 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  106 +
 tests/test_conflate.cpp                            |   86 +
 tests/test_connect_delay_tipc.cpp                  |  238 ++
 tests/test_connect_resolve.cpp                     |   70 +
 tests/test_connect_rid.cpp                         |  199 ++
 tests/test_ctx_destroy.cpp                         |  110 +
 tests/test_ctx_options.cpp                         |   83 +
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   85 +
 tests/test_disconnect_inproc.cpp                   |  136 ++
 tests/test_filter_ipc.cpp                          |  166 ++
 tests/test_fork.cpp                                |   99 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  341 +++
 tests/test_hwm.cpp                                 |  312 +++
 tests/test_hwm_pubsub.cpp                          |  253 +++
 tests/test_immediate.cpp                           |  250 +++
 tests/test_inproc_connect.cpp                      |  536 +++++
 tests/test_invalid_rep.cpp                         |   98 +
 tests/test_iov.cpp                                 |  157 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   66 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  134 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  145 ++
 tests/test_msg_flags.cpp                           |  127 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   64 +
 tests/test_pair_tipc.cpp                           |   62 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  404 ++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  486 ++++
 tests/test_proxy_single_socket.cpp                 |  121 +
 tests/test_proxy_terminate.cpp                     |  132 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  191 ++
 tests/test_reconnect_ivl.cpp                       |  149 ++
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  202 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  146 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  336 +++
 tests/test_reqrep_tipc.cpp                         |   61 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  116 +
 tests/test_router_mandatory.cpp                    |  292 +++
 tests/test_router_mandatory_hwm.cpp                |  129 ++
 tests/test_router_mandatory_tipc.cpp               |   70 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  792 +++++++
 tests/test_security_gssapi.cpp                     |  362 +++
 tests/test_security_null.cpp                       |  209 ++
 tests/test_security_plain.cpp                      |  212 ++
 tests/test_security_zap.cpp                        |  415 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  101 +
 tests/test_shutdown_stress_tipc.cpp                |   95 +
 tests/test_socket_null.cpp                         |   82 +
 tests/test_sockopt_hwm.cpp                         |  190 ++
 tests/test_sodium.cpp                              |   98 +
 tests/test_spec_dealer.cpp                         |  266 +++
 tests/test_spec_pushpull.cpp                       |  304 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  266 +++
 tests/test_spec_router.cpp                         |  217 ++
 tests/test_srcfd.cpp                               |  127 ++
 tests/test_stream.cpp                              |  342 +++
 tests/test_stream_disconnect.cpp                   |  295 +++
 tests/test_stream_empty.cpp                        |   74 +
 tests/test_stream_exceeds_buffer.cpp               |  112 +
 tests/test_stream_timeout.cpp                      |  235 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  102 +
 tests/test_system.cpp                              |   98 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  120 +
 tests/test_thread_safe.cpp                         |   90 +
 tests/test_timeo.cpp                               |   85 +
 tests/test_timers.cpp                              |  225 ++
 tests/test_udp.cpp                                 |  133 ++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  223 ++
 tests/test_use_fd_tcp.cpp                          |  238 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  118 +
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   98 +
 tests/testutil.hpp                                 |  408 ++++
 tests/testutil_security.hpp                        |  666 ++++++
 tools/curve_keygen.cpp                             |   58 +
 version.sh                                         |   21 +
 781 files changed, 109359 insertions(+)

commit 99c527702bbb80102edc822f71056439d5293e8b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Oct 5 09:17:51 2017 +0100

    Merge pull request #2766 from hxw/master
    
    add __FreeBSD__ to ifdefs

 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  179 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  113 +
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1083 +++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 FindSodium.cmake                                   |   40 +
 INSTALL                                            |  301 +++
 Makefile.am                                        |  899 ++++++++
 NEWS                                               | 1346 ++++++++++++
 README.cygwin.md                                   |   15 +
 README.doxygen.md                                  |   48 +
 README.md                                          |  102 +
 RELICENSE/AndreLouisCaron.md                       |   15 +
 RELICENSE/Asmod4n.md                               |   13 +
 RELICENSE/BerndPrager.md                           |   13 +
 RELICENSE/Bklyn.md                                 |   15 +
 RELICENSE/BrianBuchanan.md                         |   15 +
 RELICENSE/ChuckRemes.md                            |   15 +
 RELICENSE/FrancoFichtner.md                        |   15 +
 RELICENSE/GavinMcNiff.md                           |   15 +
 RELICENSE/GhislainPutois.md                        |   15 +
 RELICENSE/GiuseppeCorbelli.md                      |   15 +
 RELICENSE/HaraldAchitz.md                          |   17 +
 RELICENSE/Hugne.md                                 |   17 +
 RELICENSE/JimHague.md                              |   16 +
 RELICENSE/JohanMabille.md                          |   16 +
 RELICENSE/LeonardMichelet                          |   14 +
 RELICENSE/LeonardoConsoni.md                       |   15 +
 RELICENSE/LionelOrry.md                            |   15 +
 RELICENSE/OsirisPedroso.md                         |   15 +
 RELICENSE/README.md                                |   23 +
 RELICENSE/RobGagnon.md                             |   13 +
 RELICENSE/SebastienRombauts.md                     |   15 +
 RELICENSE/StoianIvanov.md                          |   15 +
 RELICENSE/SylvainCorlay.md                         |   16 +
 RELICENSE/TimotheeBesset.md                        |   15 +
 RELICENSE/VincentTellier.md                        |   15 +
 RELICENSE/VolodymyrKorniichuk.md                   |   15 +
 RELICENSE/abbradar.md                              |   16 +
 RELICENSE/agronholm.md                             |   15 +
 RELICENSE/amuraru.md                               |   15 +
 RELICENSE/aseering.md                              |   15 +
 RELICENSE/bjorntopel.md                            |   16 +
 RELICENSE/bjovke.md                                |   16 +
 RELICENSE/brocade_communications_systems.md        |   15 +
 RELICENSE/brunobodin.md                            |   13 +
 RELICENSE/c-rack.md                                |   15 +
 RELICENSE/camachat.md                              |   15 +
 RELICENSE/cdolan.md                                |   15 +
 RELICENSE/chrisstaite.md                           |   14 +
 RELICENSE/chugga_fan.md                            |   15 +
 RELICENSE/cjuniet.md                               |   15 +
 RELICENSE/ckamm.md                                 |   15 +
 RELICENSE/clkao.md                                 |   15 +
 RELICENSE/danielhtshih.md                          |   15 +
 RELICENSE/danriegsecker.md                         |   16 +
 RELICENSE/dfons.md                                 |   16 +
 RELICENSE/djelenc.md                               |   15 +
 RELICENSE/drodri.md                                |   15 +
 RELICENSE/eburkitt.md                              |   15 +
 RELICENSE/egomotion.md                             |   16 +
 RELICENSE/evoskuil.md                              |   15 +
 RELICENSE/febeling.md                              |   16 +
 RELICENSE/fidlej.md                                |   15 +
 RELICENSE/flub.md                                  |   14 +
 RELICENSE/gena-moscow.md                           |   15 +
 RELICENSE/gonzus.md                                |   15 +
 RELICENSE/goodfella_ltd.md                         |   13 +
 RELICENSE/google.md                                |   13 +
 RELICENSE/ianbarber.md                             |   15 +
 RELICENSE/imatix.md                                |   23 +
 RELICENSE/jakecobb.md                              |   13 +
 RELICENSE/jemc.md                                  |   15 +
 RELICENSE/jimklimov.md                             |   17 +
 RELICENSE/jkryl.md                                 |   15 +
 RELICENSE/johntconklin.md                          |   15 +
 RELICENSE/jruffin.md                               |   14 +
 RELICENSE/kentzo.md                                |   15 +
 RELICENSE/kevinsapper.md                           |   13 +
 RELICENSE/kobolog.md                               |   12 +
 RELICENSE/kurdybacha.md                            |   15 +
 RELICENSE/linville.md                              |   15 +
 RELICENSE/loachfish.md                             |   15 +
 RELICENSE/lodagro.md                               |   15 +
 RELICENSE/madebr.md                                |   15 +
 RELICENSE/mattconnolly.md                          |   15 +
 RELICENSE/mauri-melato.md                          |   13 +
 RELICENSE/mditzel.md                               |   15 +
 RELICENSE/meox.md                                  |   15 +
 RELICENSE/michael-fox.md                           |   16 +
 RELICENSE/michicc.md                               |   15 +
 RELICENSE/minrk.md                                 |   15 +
 RELICENSE/mipaaa.md                                |   15 +
 RELICENSE/mkluwe.md                                |   15 +
 RELICENSE/montoyaedu.md                            |   15 +
 RELICENSE/naos_ltd.md                              |   19 +
 RELICENSE/natano.md                                |   15 +
 RELICENSE/olafmandel.md                            |   13 +
 RELICENSE/pijyoi.md                                |   13 +
 RELICENSE/ptroja.md                                |   14 +
 RELICENSE/reunanen.md                              |   15 +
 RELICENSE/reza-ebrahimi.md                         |   15 +
 RELICENSE/rikvdh.md                                |   15 +
 RELICENSE/rlenferink.md                            |   15 +
 RELICENSE/roalz.md                                 |   13 +
 RELICENSE/rodgert.md                               |   17 +
 RELICENSE/rotty.md                                 |   16 +
 RELICENSE/sabae.md                                 |   15 +
 RELICENSE/scemama.md                               |   15 +
 RELICENSE/sheremetyev.md                           |   13 +
 RELICENSE/shripchenko.md                           |   15 +
 RELICENSE/sigiesec.md                              |   17 +
 RELICENSE/soulik.md                                |   15 +
 RELICENSE/swansontec.md                            |   15 +
 RELICENSE/t-b.md                                   |   15 +
 RELICENSE/tSed.md                                  |   15 +
 RELICENSE/tabe.md                                  |   15 +
 RELICENSE/tailhook.md                              |   16 +
 RELICENSE/taotetek.md                              |   13 +
 .../templates/relicense-template-mplv2-any-osi.txt |   15 +
 .../relicense-template-mplv2-share-alike-osi.txt   |   15 +
 RELICENSE/templates/relicense-template-mplv2.txt   |   13 +
 RELICENSE/thompsa.md                               |   15 +
 RELICENSE/torehalvorsen.md                         |   15 +
 RELICENSE/twhittock.md                             |   15 +
 RELICENSE/ulikoehler.md                            |   16 +
 RELICENSE/vyskocilm.md                             |    7 +
 RELICENSE/willstrang.md                            |   15 +
 RELICENSE/xaqq.md                                  |   13 +
 RELICENSE/yuvallanger.md                           |   15 +
 ZeroMQConfig.cmake.in                              |   25 +
 acinclude.m4                                       | 1122 ++++++++++
 appveyor.yml                                       |   81 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   31 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   78 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  282 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ci_build.sh                           |   34 +
 builds/cmake/platform.hpp.in                       |  103 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   79 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  884 ++++++++
 builds/gyp/project-tests.xml                       |   82 +
 builds/gyp/project.gyp                             |  295 +++
 builds/mingw32/Makefile.mingw32                    |   49 +
 builds/mingw32/platform.hpp                        |   43 +
 builds/msvc/.gitignore                             |  256 +++
 builds/msvc/Makefile.am                            |   94 +
 builds/msvc/build/build.bat                        |   33 +
 builds/msvc/build/buildall.bat                     |   16 +
 builds/msvc/build/buildbase.bat                    |   65 +
 builds/msvc/errno.cpp                              |   32 +
 builds/msvc/errno.hpp                              |   56 +
 builds/msvc/platform.hpp                           |   14 +
 builds/msvc/properties/Common.props                |   21 +
 builds/msvc/properties/DLL.props                   |   16 +
 builds/msvc/properties/Debug.props                 |   29 +
 builds/msvc/properties/DebugDEXE.props             |   21 +
 builds/msvc/properties/DebugDLL.props              |   20 +
 builds/msvc/properties/DebugLEXE.props             |   20 +
 builds/msvc/properties/DebugLIB.props              |   21 +
 builds/msvc/properties/DebugLTCG.props             |   20 +
 builds/msvc/properties/DebugSEXE.props             |   21 +
 builds/msvc/properties/EXE.props                   |   17 +
 builds/msvc/properties/LIB.props                   |   16 +
 builds/msvc/properties/LTCG.props                  |   13 +
 builds/msvc/properties/Link.props                  |   21 +
 builds/msvc/properties/Messages.props              |   15 +
 builds/msvc/properties/Output.props                |   30 +
 builds/msvc/properties/Release.props               |   41 +
 builds/msvc/properties/ReleaseDEXE.props           |   20 +
 builds/msvc/properties/ReleaseDLL.props            |   19 +
 builds/msvc/properties/ReleaseLEXE.props           |   20 +
 builds/msvc/properties/ReleaseLIB.props            |   19 +
 builds/msvc/properties/ReleaseLTCG.props           |   19 +
 builds/msvc/properties/ReleaseSEXE.props           |   20 +
 builds/msvc/properties/Win32.props                 |   20 +
 builds/msvc/properties/x64.props                   |   23 +
 builds/msvc/readme.txt                             |   27 +
 builds/msvc/resource.h                             |   14 +
 builds/msvc/resource.rc                            |  Bin 0 -> 4650 bytes
 builds/msvc/vs2008/inproc_lat/inproc_lat.vcproj    |   52 +
 builds/msvc/vs2008/inproc_thr/inproc_thr.vcproj    |   52 +
 builds/msvc/vs2008/libzmq.sln                      |   95 +
 builds/msvc/vs2008/libzmq/libzmq.vcproj            |  338 +++
 builds/msvc/vs2008/local_lat/local_lat.vcproj      |   52 +
 builds/msvc/vs2008/local_thr/local_thr.vcproj      |   52 +
 builds/msvc/vs2008/remote_lat/remote_lat.vcproj    |   52 +
 builds/msvc/vs2008/remote_thr/remote_thr.vcproj    |   52 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2010/libsodium.import.props          |   52 +
 builds/msvc/vs2010/libsodium.import.xml            |   17 +
 builds/msvc/vs2010/libzmq.import.props             |   64 +
 builds/msvc/vs2010/libzmq.import.xml               |   49 +
 builds/msvc/vs2010/libzmq.sln                      |  206 ++
 builds/msvc/vs2010/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2010/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2010/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2010/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2010/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2010/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2010/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2012/libsodium.import.props          |   52 +
 builds/msvc/vs2012/libsodium.import.xml            |   17 +
 builds/msvc/vs2012/libzmq.import.props             |   64 +
 builds/msvc/vs2012/libzmq.import.xml               |   49 +
 builds/msvc/vs2012/libzmq.sln                      |  206 ++
 builds/msvc/vs2012/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2012/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2012/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2012/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2012/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2012/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2012/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2013/libsodium.import.props          |   52 +
 builds/msvc/vs2013/libsodium.import.xml            |   17 +
 builds/msvc/vs2013/libzmq.import.props             |   64 +
 builds/msvc/vs2013/libzmq.import.xml               |   49 +
 builds/msvc/vs2013/libzmq.sln                      |  208 ++
 builds/msvc/vs2013/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2013/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2013/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2013/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2013/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2013/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2013/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2015/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2015/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2015/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2015/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2015/libsodium.import.props          |   52 +
 builds/msvc/vs2015/libsodium.import.xml            |   17 +
 builds/msvc/vs2015/libzmq.import.props             |   64 +
 builds/msvc/vs2015/libzmq.import.xml               |   49 +
 builds/msvc/vs2015/libzmq.sln                      |  208 ++
 builds/msvc/vs2015/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2015/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2015/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2015/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2015/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2015/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2015/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2015/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2015/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2015/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2015/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2015/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2015_xp/libzmq.vcxproj               |  258 +++
 builds/msvc/vs2015_xp/platform.hpp                 |   15 +
 .../msvc/vs2015_xp/test_zmq/test_multithread.cpp   |  229 ++
 builds/msvc/vs2015_xp/test_zmq/test_zmq.vcxproj    |  155 ++
 builds/msvc/vs2017/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2017/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2017/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2017/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2017/libsodium.import.props          |   52 +
 builds/msvc/vs2017/libsodium.import.xml            |   17 +
 builds/msvc/vs2017/libzmq.import.props             |   64 +
 builds/msvc/vs2017/libzmq.import.xml               |   49 +
 builds/msvc/vs2017/libzmq.sln                      |  208 ++
 builds/msvc/vs2017/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2017/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2017/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2017/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2017/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2017/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2017/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2017/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2017/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2017/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2017/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2017/remote_thr/remote_thr.vcxproj   |   82 +
 builds/nuget/libzmq.autopkg                        |   52 +
 builds/nuget/readme.nuget                          |   20 +
 builds/openwrt/Makefile                            |   70 +
 builds/valgrind/ci_build.sh                        |   30 +
 builds/valgrind/valgrind.supp                      |   22 +
 builds/valgrind/vg                                 |    1 +
 builds/zos/README.md                               |  463 ++++
 builds/zos/cxxall                                  |   62 +
 builds/zos/makeclean                               |   36 +
 builds/zos/makelibzmq                              |   54 +
 builds/zos/maketests                               |  102 +
 builds/zos/platform.hpp                            |  300 +++
 builds/zos/runtests                                |  188 ++
 builds/zos/test_fork.cpp                           |   95 +
 builds/zos/zc++                                    |   42 +
 ci_build.sh                                        |   62 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  793 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  276 +++
 doc/zmq_atomic_counter_dec.txt                     |   62 +
 doc/zmq_atomic_counter_destroy.txt                 |   62 +
 doc/zmq_atomic_counter_inc.txt                     |   61 +
 doc/zmq_atomic_counter_new.txt                     |   62 +
 doc/zmq_atomic_counter_set.txt                     |   61 +
 doc/zmq_atomic_counter_value.txt                   |   60 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   52 +
 doc/zmq_connect.txt                                |  101 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  105 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  141 ++
 doc/zmq_ctx_shutdown.txt                           |   52 +
 doc/zmq_ctx_term.txt                               |   68 +
 doc/zmq_curve.txt                                  |   92 +
 doc/zmq_curve_keypair.txt                          |   56 +
 doc/zmq_curve_public.txt                           |   62 +
 doc/zmq_disconnect.txt                             |   75 +
 doc/zmq_errno.txt                                  |   50 +
 doc/zmq_getsockopt.txt                             |  932 ++++++++
 doc/zmq_gssapi.txt                                 |   78 +
 doc/zmq_has.txt                                    |   44 +
 doc/zmq_init.txt                                   |   52 +
 doc/zmq_inproc.txt                                 |   88 +
 doc/zmq_ipc.txt                                    |  106 +
 doc/zmq_msg_close.txt                              |   56 +
 doc/zmq_msg_copy.txt                               |   72 +
 doc/zmq_msg_data.txt                               |   48 +
 doc/zmq_msg_get.txt                                |   83 +
 doc/zmq_msg_gets.txt                               |   81 +
 doc/zmq_msg_init.txt                               |   64 +
 doc/zmq_msg_init_data.txt                          |   89 +
 doc/zmq_msg_init_size.txt                          |   58 +
 doc/zmq_msg_more.txt                               |   65 +
 doc/zmq_msg_move.txt                               |   52 +
 doc/zmq_msg_recv.txt                               |  124 ++
 doc/zmq_msg_routing_id.txt                         |   61 +
 doc/zmq_msg_send.txt                               |  127 ++
 doc/zmq_msg_set.txt                                |   46 +
 doc/zmq_msg_set_routing_id.txt                     |   46 +
 doc/zmq_msg_size.txt                               |   48 +
 doc/zmq_null.txt                                   |   27 +
 doc/zmq_pgm.txt                                    |  164 ++
 doc/zmq_plain.txt                                  |   37 +
 doc/zmq_poll.txt                                   |  135 ++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |   99 +
 doc/zmq_recv.txt                                   |   91 +
 doc/zmq_recvmsg.txt                                |  121 +
 doc/zmq_send.txt                                   |  104 +
 doc/zmq_send_const.txt                             |  103 +
 doc/zmq_sendmsg.txt                                |  121 +
 doc/zmq_setsockopt.txt                             | 1300 +++++++++++
 doc/zmq_socket.txt                                 |  609 +++++
 doc/zmq_socket_monitor.txt                         |  265 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |   99 +
 doc/zmq_unbind.txt                                 |   90 +
 doc/zmq_version.txt                                |   54 +
 doc/zmq_vmci.txt                                   |   97 +
 doc/zmq_z85_decode.txt                             |   51 +
 doc/zmq_z85_encode.txt                             |   58 +
 include/zmq.h                                      |  705 ++++++
 include/zmq_utils.h                                |   48 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  281 +++
 m4/ax_cxx_compile_stdcxx.m4                        |  562 +++++
 m4/ax_cxx_compile_stdcxx_11.m4                     |   40 +
 m4/ax_valgrind_check.m4                            |  233 ++
 packaging/README                                   |    4 +
 packaging/debian/changelog                         |    5 +
 packaging/debian/compat                            |    1 +
 packaging/debian/control                           |   63 +
 packaging/debian/copyright                         |   93 +
 packaging/debian/libzmq3-dev.install               |    4 +
 packaging/debian/libzmq3-dev.manpages              |    2 +
 packaging/debian/libzmq5.docs                      |    2 +
 packaging/debian/libzmq5.install                   |    1 +
 packaging/debian/rules                             |   61 +
 packaging/debian/source/format                     |    1 +
 packaging/debian/zeromq.dsc.obs                    |   15 +
 packaging/nuget/package.bat                        |   14 +
 packaging/nuget/package.config                     |    6 +
 packaging/nuget/package.gsl                        |  264 +++
 packaging/nuget/package.nuspec                     |   98 +
 packaging/nuget/package.targets                    |  129 ++
 packaging/nuget/package.xml                        |   22 +
 packaging/obs/_service                             |   86 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  240 ++
 perf/inproc_thr.cpp                                |  250 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  160 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  135 ++
 src/address.cpp                                    |  134 ++
 src/address.hpp                                    |   77 +
 src/array.hpp                                      |  167 ++
 src/atomic_counter.hpp                             |  249 +++
 src/atomic_ptr.hpp                                 |  227 ++
 src/blob.hpp                                       |  139 ++
 src/client.cpp                                     |  116 +
 src/client.hpp                                     |   81 +
 src/clock.cpp                                      |  253 +++
 src/clock.hpp                                      |   83 +
 src/command.hpp                                    |  188 ++
 src/condition_variable.hpp                         |  266 +++
 src/config.hpp                                     |   98 +
 src/ctx.cpp                                        |  612 ++++++
 src/ctx.hpp                                        |  240 ++
 src/curve_client.cpp                               |  297 +++
 src/curve_client.hpp                               |   87 +
 src/curve_client_tools.hpp                         |  307 +++
 src/curve_mechanism_base.cpp                       |  181 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  486 ++++
 src/curve_server.hpp                               |   94 +
 src/dbuffer.hpp                                    |  144 ++
 src/dealer.cpp                                     |  143 ++
 src/dealer.hpp                                     |   89 +
 src/decoder.hpp                                    |  198 ++
 src/decoder_allocators.cpp                         |  144 ++
 src/decoder_allocators.hpp                         |  155 ++
 src/devpoll.cpp                                    |  205 ++
 src/devpoll.hpp                                    |  119 +
 src/dgram.cpp                                      |  177 ++
 src/dgram.hpp                                      |   81 +
 src/dish.cpp                                       |  360 +++
 src/dish.hpp                                       |  125 ++
 src/dist.cpp                                       |  235 ++
 src/dist.hpp                                       |  120 +
 src/encoder.hpp                                    |  189 ++
 src/epoll.cpp                                      |  206 ++
 src/epoll.hpp                                      |  119 +
 src/err.cpp                                        |  447 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   52 +
 src/fq.cpp                                         |  163 ++
 src/fq.hpp                                         |   92 +
 src/gather.cpp                                     |   94 +
 src/gather.hpp                                     |   75 +
 src/gssapi_client.cpp                              |  237 ++
 src/gssapi_client.hpp                              |   94 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  134 ++
 src/gssapi_server.cpp                              |  249 +++
 src/gssapi_server.hpp                              |   95 +
 src/i_decoder.hpp                                  |   64 +
 src/i_encoder.hpp                                  |   60 +
 src/i_engine.hpp                                   |   68 +
 src/i_mailbox.hpp                                  |   60 +
 src/i_poll_events.hpp                              |   55 +
 src/io_object.cpp                                  |  117 +
 src/io_object.hpp                                  |   89 +
 src/io_thread.cpp                                  |  114 +
 src/io_thread.hpp                                  |   99 +
 src/ip.cpp                                         |  235 ++
 src/ip.hpp                                         |   64 +
 src/ipc_address.cpp                                |  106 +
 src/ipc_address.hpp                                |   74 +
 src/ipc_connecter.cpp                              |  278 +++
 src/ipc_connecter.hpp                              |  135 ++
 src/ipc_listener.cpp                               |  435 ++++
 src/ipc_listener.hpp                               |  123 ++
 src/kqueue.cpp                                     |  227 ++
 src/kqueue.hpp                                     |  127 ++
 src/lb.cpp                                         |  173 ++
 src/lb.hpp                                         |   88 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   12 +
 src/mailbox.cpp                                    |  101 +
 src/mailbox.hpp                                    |   90 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   94 +
 src/mechanism.cpp                                  |  287 +++
 src/mechanism.hpp                                  |  152 ++
 src/mechanism_base.cpp                             |   70 +
 src/mechanism_base.hpp                             |   53 +
 src/metadata.cpp                                   |   62 +
 src/metadata.hpp                                   |   70 +
 src/msg.cpp                                        |  578 +++++
 src/msg.hpp                                        |  268 +++
 src/mtrie.cpp                                      |  434 ++++
 src/mtrie.hpp                                      |  102 +
 src/mutex.hpp                                      |  213 ++
 src/norm_engine.cpp                                |  736 +++++++
 src/norm_engine.hpp                                |  190 ++
 src/null_mechanism.cpp                             |  220 ++
 src/null_mechanism.hpp                             |   77 +
 src/object.cpp                                     |  476 ++++
 src/object.hpp                                     |  156 ++
 src/options.cpp                                    | 1073 +++++++++
 src/options.hpp                                    |  249 +++
 src/own.cpp                                        |  216 ++
 src/own.hpp                                        |  154 ++
 src/pair.cpp                                       |  142 ++
 src/pair.hpp                                       |   78 +
 src/pgm_receiver.cpp                               |  307 +++
 src/pgm_receiver.hpp                               |  147 ++
 src/pgm_sender.cpp                                 |  257 +++
 src/pgm_sender.hpp                                 |  124 ++
 src/pgm_socket.cpp                                 |  712 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  547 +++++
 src/pipe.hpp                                       |  253 +++
 src/plain_client.cpp                               |  220 ++
 src/plain_client.hpp                               |   79 +
 src/plain_server.cpp                               |  250 +++
 src/plain_server.hpp                               |   71 +
 src/poll.cpp                                       |  193 ++
 src/poll.hpp                                       |  121 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  110 +
 src/poller_base.hpp                                |   95 +
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  121 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  121 +
 src/proxy.cpp                                      |  622 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   63 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   75 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   73 +
 src/radio.cpp                                      |  252 +++
 src/radio.hpp                                      |  112 +
 src/random.cpp                                     |  118 +
 src/random.hpp                                     |   52 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   74 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   64 +
 src/reaper.cpp                                     |  142 ++
 src/reaper.hpp                                     |   94 +
 src/rep.cpp                                        |  134 ++
 src/rep.hpp                                        |   73 +
 src/req.cpp                                        |  323 +++
 src/req.hpp                                        |  121 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  147 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   73 +
 src/select.cpp                                     |  524 +++++
 src/select.hpp                                     |  176 ++
 src/server.cpp                                     |  184 ++
 src/server.hpp                                     |   96 +
 src/session_base.cpp                               |  716 ++++++
 src/session_base.hpp                               |  173 ++
 src/signaler.cpp                                   |  682 ++++++
 src/signaler.hpp                                   |   91 +
 src/socket_base.cpp                                | 1776 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  693 ++++++
 src/socket_poller.hpp                              |  145 ++
 src/socks.cpp                                      |  286 +++
 src/socks.hpp                                      |  135 ++
 src/socks_connecter.cpp                            |  482 ++++
 src/socks_connecter.hpp                            |  163 ++
 src/stdint.hpp                                     |   74 +
 src/stream.cpp                                     |  321 +++
 src/stream.hpp                                     |  107 +
 src/stream_engine.cpp                              | 1110 ++++++++++
 src/stream_engine.hpp                              |  233 ++
 src/sub.cpp                                        |   87 +
 src/sub.hpp                                        |   64 +
 src/tcp.cpp                                        |  356 +++
 src/tcp.hpp                                        |   69 +
 src/tcp_address.cpp                                |  897 ++++++++
 src/tcp_address.hpp                                |  117 +
 src/tcp_connecter.cpp                              |  426 ++++
 src/tcp_connecter.hpp                              |  134 ++
 src/tcp_listener.cpp                               |  357 +++
 src/tcp_listener.hpp                               |   98 +
 src/thread.cpp                                     |  194 ++
 src/thread.hpp                                     |   93 +
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  110 +
 src/tipc_address.cpp                               |  124 ++
 src/tipc_address.hpp                               |   75 +
 src/tipc_connecter.cpp                             |  268 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  190 ++
 src/tipc_listener.hpp                              |  107 +
 src/trie.cpp                                       |  340 +++
 src/trie.hpp                                       |   86 +
 src/tweetnacl.c                                    |  988 +++++++++
 src/tweetnacl.h                                    |   75 +
 src/udp_address.cpp                                |  172 ++
 src/udp_address.hpp                                |   78 +
 src/udp_engine.cpp                                 |  394 ++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  153 ++
 src/v1_decoder.hpp                                 |   69 +
 src/v1_encoder.cpp                                 |   76 +
 src/v1_encoder.hpp                                 |   59 +
 src/v2_decoder.cpp                                 |  161 ++
 src/v2_decoder.hpp                                 |   74 +
 src/v2_encoder.cpp                                 |   78 +
 src/v2_encoder.hpp                                 |   59 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |   88 +
 src/vmci.hpp                                       |   61 +
 src/vmci_address.cpp                               |  170 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  307 +++
 src/vmci_connecter.hpp                             |  136 ++
 src/vmci_listener.cpp                              |  262 +++
 src/vmci_listener.hpp                              |  102 +
 src/windows.hpp                                    |   94 +
 src/wire.hpp                                       |  108 +
 src/xpub.cpp                                       |  340 +++
 src/xpub.hpp                                       |  127 ++
 src/xsub.cpp                                       |  251 +++
 src/xsub.hpp                                       |  103 +
 src/ypipe.hpp                                      |  218 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  137 ++
 src/yqueue.hpp                                     |  225 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  100 +
 src/zmq.cpp                                        | 1527 +++++++++++++
 src/zmq_draft.h                                    |  174 ++
 src/zmq_utils.cpp                                  |  319 +++
 tests/CMakeLists.txt                               |  212 ++
 tests/README.md                                    |   28 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_ancillaries.cpp                         |   51 +
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  162 ++
 tests/test_bind_after_connect_tcp.cpp              |   97 +
 tests/test_bind_src_address.cpp                    |   57 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  106 +
 tests/test_conflate.cpp                            |   86 +
 tests/test_connect_delay_tipc.cpp                  |  238 ++
 tests/test_connect_resolve.cpp                     |   70 +
 tests/test_connect_rid.cpp                         |  199 ++
 tests/test_ctx_destroy.cpp                         |  110 +
 tests/test_ctx_options.cpp                         |   83 +
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   85 +
 tests/test_disconnect_inproc.cpp                   |  136 ++
 tests/test_filter_ipc.cpp                          |  166 ++
 tests/test_fork.cpp                                |   99 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  341 +++
 tests/test_hwm.cpp                                 |  312 +++
 tests/test_hwm_pubsub.cpp                          |  253 +++
 tests/test_immediate.cpp                           |  250 +++
 tests/test_inproc_connect.cpp                      |  536 +++++
 tests/test_invalid_rep.cpp                         |   98 +
 tests/test_iov.cpp                                 |  157 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   66 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  134 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  145 ++
 tests/test_msg_flags.cpp                           |  127 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   64 +
 tests/test_pair_tipc.cpp                           |   62 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  404 ++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  486 ++++
 tests/test_proxy_single_socket.cpp                 |  121 +
 tests/test_proxy_terminate.cpp                     |  132 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  191 ++
 tests/test_reconnect_ivl.cpp                       |  149 ++
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  202 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  146 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  336 +++
 tests/test_reqrep_tipc.cpp                         |   61 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  116 +
 tests/test_router_mandatory.cpp                    |  292 +++
 tests/test_router_mandatory_hwm.cpp                |  129 ++
 tests/test_router_mandatory_tipc.cpp               |   70 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  792 +++++++
 tests/test_security_gssapi.cpp                     |  362 +++
 tests/test_security_null.cpp                       |  209 ++
 tests/test_security_plain.cpp                      |  212 ++
 tests/test_security_zap.cpp                        |  415 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  101 +
 tests/test_shutdown_stress_tipc.cpp                |   95 +
 tests/test_socket_null.cpp                         |   82 +
 tests/test_sockopt_hwm.cpp                         |  190 ++
 tests/test_sodium.cpp                              |   98 +
 tests/test_spec_dealer.cpp                         |  266 +++
 tests/test_spec_pushpull.cpp                       |  304 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  266 +++
 tests/test_spec_router.cpp                         |  217 ++
 tests/test_srcfd.cpp                               |  127 ++
 tests/test_stream.cpp                              |  342 +++
 tests/test_stream_disconnect.cpp                   |  295 +++
 tests/test_stream_empty.cpp                        |   74 +
 tests/test_stream_exceeds_buffer.cpp               |  112 +
 tests/test_stream_timeout.cpp                      |  235 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  102 +
 tests/test_system.cpp                              |   98 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  120 +
 tests/test_thread_safe.cpp                         |   90 +
 tests/test_timeo.cpp                               |   85 +
 tests/test_timers.cpp                              |  225 ++
 tests/test_udp.cpp                                 |  133 ++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  223 ++
 tests/test_use_fd_tcp.cpp                          |  238 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  118 +
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   98 +
 tests/testutil.hpp                                 |  408 ++++
 tests/testutil_security.hpp                        |  666 ++++++
 tools/curve_keygen.cpp                             |   58 +
 version.sh                                         |   21 +
 781 files changed, 109351 insertions(+)

commit 44f96a36521a8410378ddc83d7c4ff258da5d399
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Sep 20 10:08:45 2017 +0200

    Merge pull request #2745 from sigiesec/rename-identity
    
    Problem: term "identity" is confusing

 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  179 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  113 +
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1083 +++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 FindSodium.cmake                                   |   40 +
 INSTALL                                            |  301 +++
 Makefile.am                                        |  899 ++++++++
 NEWS                                               | 1346 ++++++++++++
 README.cygwin.md                                   |   15 +
 README.doxygen.md                                  |   48 +
 README.md                                          |  102 +
 RELICENSE/AndreLouisCaron.md                       |   15 +
 RELICENSE/Asmod4n.md                               |   13 +
 RELICENSE/BerndPrager.md                           |   13 +
 RELICENSE/Bklyn.md                                 |   15 +
 RELICENSE/BrianBuchanan.md                         |   15 +
 RELICENSE/ChuckRemes.md                            |   15 +
 RELICENSE/FrancoFichtner.md                        |   15 +
 RELICENSE/GavinMcNiff.md                           |   15 +
 RELICENSE/GhislainPutois.md                        |   15 +
 RELICENSE/GiuseppeCorbelli.md                      |   15 +
 RELICENSE/HaraldAchitz.md                          |   17 +
 RELICENSE/Hugne.md                                 |   17 +
 RELICENSE/JimHague.md                              |   16 +
 RELICENSE/JohanMabille.md                          |   16 +
 RELICENSE/LeonardMichelet                          |   14 +
 RELICENSE/LeonardoConsoni.md                       |   15 +
 RELICENSE/LionelOrry.md                            |   15 +
 RELICENSE/OsirisPedroso.md                         |   15 +
 RELICENSE/README.md                                |   23 +
 RELICENSE/RobGagnon.md                             |   13 +
 RELICENSE/SebastienRombauts.md                     |   15 +
 RELICENSE/StoianIvanov.md                          |   15 +
 RELICENSE/SylvainCorlay.md                         |   16 +
 RELICENSE/TimotheeBesset.md                        |   15 +
 RELICENSE/VincentTellier.md                        |   15 +
 RELICENSE/VolodymyrKorniichuk.md                   |   15 +
 RELICENSE/abbradar.md                              |   16 +
 RELICENSE/agronholm.md                             |   15 +
 RELICENSE/amuraru.md                               |   15 +
 RELICENSE/aseering.md                              |   15 +
 RELICENSE/bjorntopel.md                            |   16 +
 RELICENSE/bjovke.md                                |   16 +
 RELICENSE/brocade_communications_systems.md        |   15 +
 RELICENSE/brunobodin.md                            |   13 +
 RELICENSE/c-rack.md                                |   15 +
 RELICENSE/camachat.md                              |   15 +
 RELICENSE/cdolan.md                                |   15 +
 RELICENSE/chrisstaite.md                           |   14 +
 RELICENSE/chugga_fan.md                            |   15 +
 RELICENSE/cjuniet.md                               |   15 +
 RELICENSE/ckamm.md                                 |   15 +
 RELICENSE/clkao.md                                 |   15 +
 RELICENSE/danielhtshih.md                          |   15 +
 RELICENSE/danriegsecker.md                         |   16 +
 RELICENSE/dfons.md                                 |   16 +
 RELICENSE/djelenc.md                               |   15 +
 RELICENSE/drodri.md                                |   15 +
 RELICENSE/eburkitt.md                              |   15 +
 RELICENSE/egomotion.md                             |   16 +
 RELICENSE/evoskuil.md                              |   15 +
 RELICENSE/febeling.md                              |   16 +
 RELICENSE/fidlej.md                                |   15 +
 RELICENSE/flub.md                                  |   14 +
 RELICENSE/gena-moscow.md                           |   15 +
 RELICENSE/gonzus.md                                |   15 +
 RELICENSE/goodfella_ltd.md                         |   13 +
 RELICENSE/google.md                                |   13 +
 RELICENSE/ianbarber.md                             |   15 +
 RELICENSE/imatix.md                                |   23 +
 RELICENSE/jakecobb.md                              |   13 +
 RELICENSE/jemc.md                                  |   15 +
 RELICENSE/jimklimov.md                             |   17 +
 RELICENSE/jkryl.md                                 |   15 +
 RELICENSE/johntconklin.md                          |   15 +
 RELICENSE/jruffin.md                               |   14 +
 RELICENSE/kentzo.md                                |   15 +
 RELICENSE/kevinsapper.md                           |   13 +
 RELICENSE/kobolog.md                               |   12 +
 RELICENSE/kurdybacha.md                            |   15 +
 RELICENSE/linville.md                              |   15 +
 RELICENSE/loachfish.md                             |   15 +
 RELICENSE/lodagro.md                               |   15 +
 RELICENSE/madebr.md                                |   15 +
 RELICENSE/mattconnolly.md                          |   15 +
 RELICENSE/mauri-melato.md                          |   13 +
 RELICENSE/mditzel.md                               |   15 +
 RELICENSE/meox.md                                  |   15 +
 RELICENSE/michael-fox.md                           |   16 +
 RELICENSE/michicc.md                               |   15 +
 RELICENSE/minrk.md                                 |   15 +
 RELICENSE/mipaaa.md                                |   15 +
 RELICENSE/mkluwe.md                                |   15 +
 RELICENSE/montoyaedu.md                            |   15 +
 RELICENSE/naos_ltd.md                              |   19 +
 RELICENSE/natano.md                                |   15 +
 RELICENSE/olafmandel.md                            |   13 +
 RELICENSE/pijyoi.md                                |   13 +
 RELICENSE/ptroja.md                                |   14 +
 RELICENSE/reunanen.md                              |   15 +
 RELICENSE/reza-ebrahimi.md                         |   15 +
 RELICENSE/rikvdh.md                                |   15 +
 RELICENSE/rlenferink.md                            |   15 +
 RELICENSE/roalz.md                                 |   13 +
 RELICENSE/rodgert.md                               |   17 +
 RELICENSE/rotty.md                                 |   16 +
 RELICENSE/sabae.md                                 |   15 +
 RELICENSE/scemama.md                               |   15 +
 RELICENSE/sheremetyev.md                           |   13 +
 RELICENSE/shripchenko.md                           |   15 +
 RELICENSE/sigiesec.md                              |   17 +
 RELICENSE/soulik.md                                |   15 +
 RELICENSE/swansontec.md                            |   15 +
 RELICENSE/t-b.md                                   |   15 +
 RELICENSE/tSed.md                                  |   15 +
 RELICENSE/tabe.md                                  |   15 +
 RELICENSE/tailhook.md                              |   16 +
 RELICENSE/taotetek.md                              |   13 +
 .../templates/relicense-template-mplv2-any-osi.txt |   15 +
 .../relicense-template-mplv2-share-alike-osi.txt   |   15 +
 RELICENSE/templates/relicense-template-mplv2.txt   |   13 +
 RELICENSE/thompsa.md                               |   15 +
 RELICENSE/torehalvorsen.md                         |   15 +
 RELICENSE/twhittock.md                             |   15 +
 RELICENSE/ulikoehler.md                            |   16 +
 RELICENSE/vyskocilm.md                             |    7 +
 RELICENSE/willstrang.md                            |   15 +
 RELICENSE/xaqq.md                                  |   13 +
 RELICENSE/yuvallanger.md                           |   15 +
 ZeroMQConfig.cmake.in                              |   25 +
 acinclude.m4                                       | 1122 ++++++++++
 appveyor.yml                                       |   81 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   31 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   78 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  282 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ci_build.sh                           |   34 +
 builds/cmake/platform.hpp.in                       |  103 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   79 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  884 ++++++++
 builds/gyp/project-tests.xml                       |   82 +
 builds/gyp/project.gyp                             |  295 +++
 builds/mingw32/Makefile.mingw32                    |   49 +
 builds/mingw32/platform.hpp                        |   43 +
 builds/msvc/.gitignore                             |  256 +++
 builds/msvc/Makefile.am                            |   94 +
 builds/msvc/build/build.bat                        |   33 +
 builds/msvc/build/buildall.bat                     |   16 +
 builds/msvc/build/buildbase.bat                    |   65 +
 builds/msvc/errno.cpp                              |   32 +
 builds/msvc/errno.hpp                              |   56 +
 builds/msvc/platform.hpp                           |   14 +
 builds/msvc/properties/Common.props                |   21 +
 builds/msvc/properties/DLL.props                   |   16 +
 builds/msvc/properties/Debug.props                 |   29 +
 builds/msvc/properties/DebugDEXE.props             |   21 +
 builds/msvc/properties/DebugDLL.props              |   20 +
 builds/msvc/properties/DebugLEXE.props             |   20 +
 builds/msvc/properties/DebugLIB.props              |   21 +
 builds/msvc/properties/DebugLTCG.props             |   20 +
 builds/msvc/properties/DebugSEXE.props             |   21 +
 builds/msvc/properties/EXE.props                   |   17 +
 builds/msvc/properties/LIB.props                   |   16 +
 builds/msvc/properties/LTCG.props                  |   13 +
 builds/msvc/properties/Link.props                  |   21 +
 builds/msvc/properties/Messages.props              |   15 +
 builds/msvc/properties/Output.props                |   30 +
 builds/msvc/properties/Release.props               |   41 +
 builds/msvc/properties/ReleaseDEXE.props           |   20 +
 builds/msvc/properties/ReleaseDLL.props            |   19 +
 builds/msvc/properties/ReleaseLEXE.props           |   20 +
 builds/msvc/properties/ReleaseLIB.props            |   19 +
 builds/msvc/properties/ReleaseLTCG.props           |   19 +
 builds/msvc/properties/ReleaseSEXE.props           |   20 +
 builds/msvc/properties/Win32.props                 |   20 +
 builds/msvc/properties/x64.props                   |   23 +
 builds/msvc/readme.txt                             |   27 +
 builds/msvc/resource.h                             |   14 +
 builds/msvc/resource.rc                            |  Bin 0 -> 4650 bytes
 builds/msvc/vs2008/inproc_lat/inproc_lat.vcproj    |   52 +
 builds/msvc/vs2008/inproc_thr/inproc_thr.vcproj    |   52 +
 builds/msvc/vs2008/libzmq.sln                      |   95 +
 builds/msvc/vs2008/libzmq/libzmq.vcproj            |  338 +++
 builds/msvc/vs2008/local_lat/local_lat.vcproj      |   52 +
 builds/msvc/vs2008/local_thr/local_thr.vcproj      |   52 +
 builds/msvc/vs2008/remote_lat/remote_lat.vcproj    |   52 +
 builds/msvc/vs2008/remote_thr/remote_thr.vcproj    |   52 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2010/libsodium.import.props          |   52 +
 builds/msvc/vs2010/libsodium.import.xml            |   17 +
 builds/msvc/vs2010/libzmq.import.props             |   64 +
 builds/msvc/vs2010/libzmq.import.xml               |   49 +
 builds/msvc/vs2010/libzmq.sln                      |  206 ++
 builds/msvc/vs2010/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2010/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2010/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2010/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2010/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2010/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2010/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2012/libsodium.import.props          |   52 +
 builds/msvc/vs2012/libsodium.import.xml            |   17 +
 builds/msvc/vs2012/libzmq.import.props             |   64 +
 builds/msvc/vs2012/libzmq.import.xml               |   49 +
 builds/msvc/vs2012/libzmq.sln                      |  206 ++
 builds/msvc/vs2012/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2012/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2012/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2012/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2012/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2012/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2012/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2013/libsodium.import.props          |   52 +
 builds/msvc/vs2013/libsodium.import.xml            |   17 +
 builds/msvc/vs2013/libzmq.import.props             |   64 +
 builds/msvc/vs2013/libzmq.import.xml               |   49 +
 builds/msvc/vs2013/libzmq.sln                      |  208 ++
 builds/msvc/vs2013/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2013/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2013/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2013/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2013/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2013/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2013/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2015/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2015/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2015/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2015/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2015/libsodium.import.props          |   52 +
 builds/msvc/vs2015/libsodium.import.xml            |   17 +
 builds/msvc/vs2015/libzmq.import.props             |   64 +
 builds/msvc/vs2015/libzmq.import.xml               |   49 +
 builds/msvc/vs2015/libzmq.sln                      |  208 ++
 builds/msvc/vs2015/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2015/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2015/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2015/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2015/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2015/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2015/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2015/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2015/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2015/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2015/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2015/remote_thr/remote_thr.vcxproj   |   82 +
 builds/msvc/vs2015_xp/libzmq.vcxproj               |  258 +++
 builds/msvc/vs2015_xp/platform.hpp                 |   15 +
 .../msvc/vs2015_xp/test_zmq/test_multithread.cpp   |  229 ++
 builds/msvc/vs2015_xp/test_zmq/test_zmq.vcxproj    |  155 ++
 builds/msvc/vs2017/inproc_lat/inproc_lat.props     |   49 +
 builds/msvc/vs2017/inproc_lat/inproc_lat.vcxproj   |   82 +
 builds/msvc/vs2017/inproc_thr/inproc_thr.props     |   49 +
 builds/msvc/vs2017/inproc_thr/inproc_thr.vcxproj   |   82 +
 builds/msvc/vs2017/libsodium.import.props          |   52 +
 builds/msvc/vs2017/libsodium.import.xml            |   17 +
 builds/msvc/vs2017/libzmq.import.props             |   64 +
 builds/msvc/vs2017/libzmq.import.xml               |   49 +
 builds/msvc/vs2017/libzmq.sln                      |  208 ++
 builds/msvc/vs2017/libzmq/libzmq.props             |   76 +
 builds/msvc/vs2017/libzmq/libzmq.vcxproj           |  289 +++
 builds/msvc/vs2017/libzmq/libzmq.vcxproj.filters   |  627 ++++++
 builds/msvc/vs2017/libzmq/libzmq.xml               |   40 +
 builds/msvc/vs2017/local_lat/local_lat.props       |   49 +
 builds/msvc/vs2017/local_lat/local_lat.vcxproj     |   82 +
 builds/msvc/vs2017/local_thr/local_thr.props       |   49 +
 builds/msvc/vs2017/local_thr/local_thr.vcxproj     |   82 +
 builds/msvc/vs2017/remote_lat/remote_lat.props     |   49 +
 builds/msvc/vs2017/remote_lat/remote_lat.vcxproj   |   82 +
 builds/msvc/vs2017/remote_thr/remote_thr.props     |   49 +
 builds/msvc/vs2017/remote_thr/remote_thr.vcxproj   |   82 +
 builds/nuget/libzmq.autopkg                        |   52 +
 builds/nuget/readme.nuget                          |   20 +
 builds/openwrt/Makefile                            |   70 +
 builds/valgrind/ci_build.sh                        |   30 +
 builds/valgrind/valgrind.supp                      |   22 +
 builds/valgrind/vg                                 |    1 +
 builds/zos/README.md                               |  463 ++++
 builds/zos/cxxall                                  |   62 +
 builds/zos/makeclean                               |   36 +
 builds/zos/makelibzmq                              |   54 +
 builds/zos/maketests                               |  102 +
 builds/zos/platform.hpp                            |  300 +++
 builds/zos/runtests                                |  188 ++
 builds/zos/test_fork.cpp                           |   95 +
 builds/zos/zc++                                    |   42 +
 ci_build.sh                                        |   62 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  793 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  276 +++
 doc/zmq_atomic_counter_dec.txt                     |   62 +
 doc/zmq_atomic_counter_destroy.txt                 |   62 +
 doc/zmq_atomic_counter_inc.txt                     |   61 +
 doc/zmq_atomic_counter_new.txt                     |   62 +
 doc/zmq_atomic_counter_set.txt                     |   61 +
 doc/zmq_atomic_counter_value.txt                   |   60 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   52 +
 doc/zmq_connect.txt                                |  101 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  105 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  141 ++
 doc/zmq_ctx_shutdown.txt                           |   52 +
 doc/zmq_ctx_term.txt                               |   68 +
 doc/zmq_curve.txt                                  |   92 +
 doc/zmq_curve_keypair.txt                          |   56 +
 doc/zmq_curve_public.txt                           |   62 +
 doc/zmq_disconnect.txt                             |   75 +
 doc/zmq_errno.txt                                  |   50 +
 doc/zmq_getsockopt.txt                             |  932 ++++++++
 doc/zmq_gssapi.txt                                 |   78 +
 doc/zmq_has.txt                                    |   44 +
 doc/zmq_init.txt                                   |   52 +
 doc/zmq_inproc.txt                                 |   88 +
 doc/zmq_ipc.txt                                    |  106 +
 doc/zmq_msg_close.txt                              |   56 +
 doc/zmq_msg_copy.txt                               |   72 +
 doc/zmq_msg_data.txt                               |   48 +
 doc/zmq_msg_get.txt                                |   83 +
 doc/zmq_msg_gets.txt                               |   81 +
 doc/zmq_msg_init.txt                               |   64 +
 doc/zmq_msg_init_data.txt                          |   89 +
 doc/zmq_msg_init_size.txt                          |   58 +
 doc/zmq_msg_more.txt                               |   65 +
 doc/zmq_msg_move.txt                               |   52 +
 doc/zmq_msg_recv.txt                               |  124 ++
 doc/zmq_msg_routing_id.txt                         |   61 +
 doc/zmq_msg_send.txt                               |  127 ++
 doc/zmq_msg_set.txt                                |   46 +
 doc/zmq_msg_set_routing_id.txt                     |   46 +
 doc/zmq_msg_size.txt                               |   48 +
 doc/zmq_null.txt                                   |   27 +
 doc/zmq_pgm.txt                                    |  164 ++
 doc/zmq_plain.txt                                  |   37 +
 doc/zmq_poll.txt                                   |  135 ++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |   99 +
 doc/zmq_recv.txt                                   |   91 +
 doc/zmq_recvmsg.txt                                |  121 +
 doc/zmq_send.txt                                   |  104 +
 doc/zmq_send_const.txt                             |  103 +
 doc/zmq_sendmsg.txt                                |  121 +
 doc/zmq_setsockopt.txt                             | 1300 +++++++++++
 doc/zmq_socket.txt                                 |  609 +++++
 doc/zmq_socket_monitor.txt                         |  265 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |   99 +
 doc/zmq_unbind.txt                                 |   90 +
 doc/zmq_version.txt                                |   54 +
 doc/zmq_vmci.txt                                   |   97 +
 doc/zmq_z85_decode.txt                             |   51 +
 doc/zmq_z85_encode.txt                             |   58 +
 include/zmq.h                                      |  705 ++++++
 include/zmq_utils.h                                |   48 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  281 +++
 m4/ax_cxx_compile_stdcxx.m4                        |  562 +++++
 m4/ax_cxx_compile_stdcxx_11.m4                     |   40 +
 m4/ax_valgrind_check.m4                            |  233 ++
 packaging/README                                   |    4 +
 packaging/debian/changelog                         |    5 +
 packaging/debian/compat                            |    1 +
 packaging/debian/control                           |   63 +
 packaging/debian/copyright                         |   93 +
 packaging/debian/libzmq3-dev.install               |    4 +
 packaging/debian/libzmq3-dev.manpages              |    2 +
 packaging/debian/libzmq5.docs                      |    2 +
 packaging/debian/libzmq5.install                   |    1 +
 packaging/debian/rules                             |   61 +
 packaging/debian/source/format                     |    1 +
 packaging/debian/zeromq.dsc.obs                    |   15 +
 packaging/nuget/package.bat                        |   14 +
 packaging/nuget/package.config                     |    6 +
 packaging/nuget/package.gsl                        |  264 +++
 packaging/nuget/package.nuspec                     |   98 +
 packaging/nuget/package.targets                    |  129 ++
 packaging/nuget/package.xml                        |   22 +
 packaging/obs/_service                             |   86 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  240 ++
 perf/inproc_thr.cpp                                |  250 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  160 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  135 ++
 src/address.cpp                                    |  134 ++
 src/address.hpp                                    |   77 +
 src/array.hpp                                      |  167 ++
 src/atomic_counter.hpp                             |  249 +++
 src/atomic_ptr.hpp                                 |  227 ++
 src/blob.hpp                                       |  139 ++
 src/client.cpp                                     |  116 +
 src/client.hpp                                     |   81 +
 src/clock.cpp                                      |  253 +++
 src/clock.hpp                                      |   83 +
 src/command.hpp                                    |  188 ++
 src/condition_variable.hpp                         |  266 +++
 src/config.hpp                                     |   98 +
 src/ctx.cpp                                        |  612 ++++++
 src/ctx.hpp                                        |  240 ++
 src/curve_client.cpp                               |  297 +++
 src/curve_client.hpp                               |   87 +
 src/curve_client_tools.hpp                         |  307 +++
 src/curve_mechanism_base.cpp                       |  181 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  486 ++++
 src/curve_server.hpp                               |   94 +
 src/dbuffer.hpp                                    |  144 ++
 src/dealer.cpp                                     |  143 ++
 src/dealer.hpp                                     |   89 +
 src/decoder.hpp                                    |  198 ++
 src/decoder_allocators.cpp                         |  144 ++
 src/decoder_allocators.hpp                         |  155 ++
 src/devpoll.cpp                                    |  205 ++
 src/devpoll.hpp                                    |  119 +
 src/dgram.cpp                                      |  177 ++
 src/dgram.hpp                                      |   81 +
 src/dish.cpp                                       |  360 +++
 src/dish.hpp                                       |  125 ++
 src/dist.cpp                                       |  235 ++
 src/dist.hpp                                       |  120 +
 src/encoder.hpp                                    |  189 ++
 src/epoll.cpp                                      |  206 ++
 src/epoll.hpp                                      |  119 +
 src/err.cpp                                        |  447 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   52 +
 src/fq.cpp                                         |  163 ++
 src/fq.hpp                                         |   92 +
 src/gather.cpp                                     |   94 +
 src/gather.hpp                                     |   75 +
 src/gssapi_client.cpp                              |  237 ++
 src/gssapi_client.hpp                              |   94 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  134 ++
 src/gssapi_server.cpp                              |  249 +++
 src/gssapi_server.hpp                              |   95 +
 src/i_decoder.hpp                                  |   64 +
 src/i_encoder.hpp                                  |   60 +
 src/i_engine.hpp                                   |   68 +
 src/i_mailbox.hpp                                  |   60 +
 src/i_poll_events.hpp                              |   55 +
 src/io_object.cpp                                  |  117 +
 src/io_object.hpp                                  |   89 +
 src/io_thread.cpp                                  |  114 +
 src/io_thread.hpp                                  |   99 +
 src/ip.cpp                                         |  235 ++
 src/ip.hpp                                         |   64 +
 src/ipc_address.cpp                                |  106 +
 src/ipc_address.hpp                                |   74 +
 src/ipc_connecter.cpp                              |  278 +++
 src/ipc_connecter.hpp                              |  135 ++
 src/ipc_listener.cpp                               |  435 ++++
 src/ipc_listener.hpp                               |  123 ++
 src/kqueue.cpp                                     |  227 ++
 src/kqueue.hpp                                     |  127 ++
 src/lb.cpp                                         |  173 ++
 src/lb.hpp                                         |   88 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   12 +
 src/mailbox.cpp                                    |  101 +
 src/mailbox.hpp                                    |   90 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   94 +
 src/mechanism.cpp                                  |  287 +++
 src/mechanism.hpp                                  |  152 ++
 src/mechanism_base.cpp                             |   70 +
 src/mechanism_base.hpp                             |   53 +
 src/metadata.cpp                                   |   62 +
 src/metadata.hpp                                   |   70 +
 src/msg.cpp                                        |  578 +++++
 src/msg.hpp                                        |  268 +++
 src/mtrie.cpp                                      |  434 ++++
 src/mtrie.hpp                                      |  102 +
 src/mutex.hpp                                      |  213 ++
 src/norm_engine.cpp                                |  736 +++++++
 src/norm_engine.hpp                                |  190 ++
 src/null_mechanism.cpp                             |  220 ++
 src/null_mechanism.hpp                             |   77 +
 src/object.cpp                                     |  476 ++++
 src/object.hpp                                     |  156 ++
 src/options.cpp                                    | 1073 +++++++++
 src/options.hpp                                    |  249 +++
 src/own.cpp                                        |  216 ++
 src/own.hpp                                        |  154 ++
 src/pair.cpp                                       |  142 ++
 src/pair.hpp                                       |   78 +
 src/pgm_receiver.cpp                               |  307 +++
 src/pgm_receiver.hpp                               |  147 ++
 src/pgm_sender.cpp                                 |  257 +++
 src/pgm_sender.hpp                                 |  124 ++
 src/pgm_socket.cpp                                 |  712 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  547 +++++
 src/pipe.hpp                                       |  253 +++
 src/plain_client.cpp                               |  220 ++
 src/plain_client.hpp                               |   79 +
 src/plain_server.cpp                               |  250 +++
 src/plain_server.hpp                               |   71 +
 src/poll.cpp                                       |  193 ++
 src/poll.hpp                                       |  121 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  110 +
 src/poller_base.hpp                                |   95 +
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  121 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  121 +
 src/proxy.cpp                                      |  622 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   63 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   75 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   73 +
 src/radio.cpp                                      |  252 +++
 src/radio.hpp                                      |  112 +
 src/random.cpp                                     |  118 +
 src/random.hpp                                     |   52 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   74 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   64 +
 src/reaper.cpp                                     |  142 ++
 src/reaper.hpp                                     |   94 +
 src/rep.cpp                                        |  134 ++
 src/rep.hpp                                        |   73 +
 src/req.cpp                                        |  323 +++
 src/req.hpp                                        |  121 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  147 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   73 +
 src/select.cpp                                     |  524 +++++
 src/select.hpp                                     |  176 ++
 src/server.cpp                                     |  184 ++
 src/server.hpp                                     |   96 +
 src/session_base.cpp                               |  716 ++++++
 src/session_base.hpp                               |  173 ++
 src/signaler.cpp                                   |  682 ++++++
 src/signaler.hpp                                   |   91 +
 src/socket_base.cpp                                | 1776 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  693 ++++++
 src/socket_poller.hpp                              |  145 ++
 src/socks.cpp                                      |  286 +++
 src/socks.hpp                                      |  135 ++
 src/socks_connecter.cpp                            |  482 ++++
 src/socks_connecter.hpp                            |  163 ++
 src/stdint.hpp                                     |   74 +
 src/stream.cpp                                     |  321 +++
 src/stream.hpp                                     |  107 +
 src/stream_engine.cpp                              | 1110 ++++++++++
 src/stream_engine.hpp                              |  233 ++
 src/sub.cpp                                        |   87 +
 src/sub.hpp                                        |   64 +
 src/tcp.cpp                                        |  356 +++
 src/tcp.hpp                                        |   69 +
 src/tcp_address.cpp                                |  897 ++++++++
 src/tcp_address.hpp                                |  117 +
 src/tcp_connecter.cpp                              |  426 ++++
 src/tcp_connecter.hpp                              |  134 ++
 src/tcp_listener.cpp                               |  357 +++
 src/tcp_listener.hpp                               |   98 +
 src/thread.cpp                                     |  194 ++
 src/thread.hpp                                     |   93 +
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  110 +
 src/tipc_address.cpp                               |  124 ++
 src/tipc_address.hpp                               |   75 +
 src/tipc_connecter.cpp                             |  268 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  190 ++
 src/tipc_listener.hpp                              |  107 +
 src/trie.cpp                                       |  340 +++
 src/trie.hpp                                       |   86 +
 src/tweetnacl.c                                    |  988 +++++++++
 src/tweetnacl.h                                    |   75 +
 src/udp_address.cpp                                |  172 ++
 src/udp_address.hpp                                |   78 +
 src/udp_engine.cpp                                 |  394 ++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  153 ++
 src/v1_decoder.hpp                                 |   69 +
 src/v1_encoder.cpp                                 |   76 +
 src/v1_encoder.hpp                                 |   59 +
 src/v2_decoder.cpp                                 |  161 ++
 src/v2_decoder.hpp                                 |   74 +
 src/v2_encoder.cpp                                 |   78 +
 src/v2_encoder.hpp                                 |   59 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |   88 +
 src/vmci.hpp                                       |   61 +
 src/vmci_address.cpp                               |  170 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  307 +++
 src/vmci_connecter.hpp                             |  136 ++
 src/vmci_listener.cpp                              |  262 +++
 src/vmci_listener.hpp                              |  102 +
 src/windows.hpp                                    |   94 +
 src/wire.hpp                                       |  108 +
 src/xpub.cpp                                       |  340 +++
 src/xpub.hpp                                       |  127 ++
 src/xsub.cpp                                       |  251 +++
 src/xsub.hpp                                       |  103 +
 src/ypipe.hpp                                      |  218 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  137 ++
 src/yqueue.hpp                                     |  225 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  100 +
 src/zmq.cpp                                        | 1527 +++++++++++++
 src/zmq_draft.h                                    |  174 ++
 src/zmq_utils.cpp                                  |  319 +++
 tests/CMakeLists.txt                               |  212 ++
 tests/README.md                                    |   28 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_ancillaries.cpp                         |   51 +
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  162 ++
 tests/test_bind_after_connect_tcp.cpp              |   97 +
 tests/test_bind_src_address.cpp                    |   57 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  106 +
 tests/test_conflate.cpp                            |   86 +
 tests/test_connect_delay_tipc.cpp                  |  238 ++
 tests/test_connect_resolve.cpp                     |   70 +
 tests/test_connect_rid.cpp                         |  199 ++
 tests/test_ctx_destroy.cpp                         |  110 +
 tests/test_ctx_options.cpp                         |   83 +
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   85 +
 tests/test_disconnect_inproc.cpp                   |  136 ++
 tests/test_filter_ipc.cpp                          |  166 ++
 tests/test_fork.cpp                                |   99 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  341 +++
 tests/test_hwm.cpp                                 |  312 +++
 tests/test_hwm_pubsub.cpp                          |  253 +++
 tests/test_immediate.cpp                           |  250 +++
 tests/test_inproc_connect.cpp                      |  536 +++++
 tests/test_invalid_rep.cpp                         |   98 +
 tests/test_iov.cpp                                 |  157 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   66 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  134 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  145 ++
 tests/test_msg_flags.cpp                           |  127 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   64 +
 tests/test_pair_tipc.cpp                           |   62 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  404 ++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  486 ++++
 tests/test_proxy_single_socket.cpp                 |  121 +
 tests/test_proxy_terminate.cpp                     |  132 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  191 ++
 tests/test_reconnect_ivl.cpp                       |  149 ++
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  202 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  146 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  336 +++
 tests/test_reqrep_tipc.cpp                         |   61 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  116 +
 tests/test_router_mandatory.cpp                    |  292 +++
 tests/test_router_mandatory_hwm.cpp                |  129 ++
 tests/test_router_mandatory_tipc.cpp               |   70 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  792 +++++++
 tests/test_security_gssapi.cpp                     |  362 +++
 tests/test_security_null.cpp                       |  209 ++
 tests/test_security_plain.cpp                      |  212 ++
 tests/test_security_zap.cpp                        |  415 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  101 +
 tests/test_shutdown_stress_tipc.cpp                |   95 +
 tests/test_socket_null.cpp                         |   82 +
 tests/test_sockopt_hwm.cpp                         |  190 ++
 tests/test_sodium.cpp                              |   98 +
 tests/test_spec_dealer.cpp                         |  266 +++
 tests/test_spec_pushpull.cpp                       |  304 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  266 +++
 tests/test_spec_router.cpp                         |  217 ++
 tests/test_srcfd.cpp                               |  127 ++
 tests/test_stream.cpp                              |  342 +++
 tests/test_stream_disconnect.cpp                   |  295 +++
 tests/test_stream_empty.cpp                        |   74 +
 tests/test_stream_exceeds_buffer.cpp               |  112 +
 tests/test_stream_timeout.cpp                      |  235 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  102 +
 tests/test_system.cpp                              |   98 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  120 +
 tests/test_thread_safe.cpp                         |   90 +
 tests/test_timeo.cpp                               |   85 +
 tests/test_timers.cpp                              |  225 ++
 tests/test_udp.cpp                                 |  133 ++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  223 ++
 tests/test_use_fd_tcp.cpp                          |  238 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  118 +
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   98 +
 tests/testutil.hpp                                 |  408 ++++
 tests/testutil_security.hpp                        |  666 ++++++
 tools/curve_keygen.cpp                             |   58 +
 version.sh                                         |   21 +
 781 files changed, 109351 insertions(+)
