# Generated by Makefile. Do not edit.

commit a84ffa12b2eb3569ced199660bac5ad128bff1f0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jul 2 23:38:18 2019 +0100

    Finalize changelog for 4.3.2

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

commit fa82aa1120128c537ec82a8780eba841b130ed5a
Merge: ddd0da2 c2488ed
Author: Doron Somech <somdoron@gmail.com>
Date:   Mon Jul 8 19:03:58 2019 +0300

    Merge pull request #3564 from bluca/news
    
    CVE-2019-13132

commit c2488ed520d4f08da0cddccc54a532cc36332a9f
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jul 2 23:38:05 2019 +0100

    Problem: packaging versions out of date
    
    Solution: bump them

 packaging/debian/changelog      | 2 +-
 packaging/debian/zeromq.dsc.obs | 2 +-
 packaging/redhat/zeromq.spec    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit f5f1880b589d2e13f9b7cb0ac413b8c5e9e8a732
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jul 2 18:27:29 2019 +0100

    Problem: NEWS not up to date for v4.3.2
    
    Solution: list new features and bug fixes

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

commit 0f01fb5134d177bdee3ebbe45d7d7b8fb5e9dcd0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jul 2 18:26:26 2019 +0100

    Problem: markdown errors in zmq_getsockopt.txt
    
    Solution: fix them

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

commit 8e6bafcbe08ece7ae06128d6d01093f07d202ca5
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jul 2 01:24:19 2019 +0100

    Problem: application metadata not parsed correctly when using CURVE
    
    Solution: create buffers large enough to contain arbitrary metadata

 src/curve_server.cpp | 35 ++++++++++++++++++++++++-----------
 1 file changed, 24 insertions(+), 11 deletions(-)

commit ddd0da2f570b99153dc1a93b4db43d01aefe7bb0
Merge: 5368ae0 367cedb
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Jul 6 10:05:25 2019 +0100

    Merge pull request #3476 from TomMD/fix/memory-leak
    
    Request handling leaked memory.  Depending on the application's use o…

commit 367cedb7c61d5f0661d52e5b0960071423249fce
Author: Thomas M. DuBuisson <tommd@musedev.io>
Date:   Thu Apr 11 11:05:26 2019 -0400

    Fix request-handling memory leak

 src/req.cpp | 22 ++++------------------
 1 file changed, 4 insertions(+), 18 deletions(-)

commit 2c89c069a975cd80a081fee1ad33dd7e4cdab1c3
Author: Thomas M. DuBuisson <tommd@musedev.io>
Date:   Thu Apr 11 13:40:33 2019 -0400

    Tommd relicensing statement

 RELICENSE/tommd.md | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 5368ae0571009e96a9895c781ebba9f58a0c4d41
Merge: 5f8a7b1 3ec1bf5
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Jul 1 23:43:35 2019 +0100

    Merge pull request #3562 from bear-metal/lourens-relicense
    
    Add relicense agreement from Lourens Naudé

commit 3ec1bf5096ee44d7a7ce3f5b90bc31962e408d0f
Author: Lourens Naudé <lourens@bearmetal.eu>
Date:   Mon Jul 1 22:43:34 2019 +0100

    Add relicense agreement from Lourens Naudé

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

commit 5f8a7b1c22ab1e79a73fd51cccccdd44663c09d0
Merge: d5067df 153deec
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Sun Jun 30 17:03:33 2019 +0200

    Merge pull request #3561 from zeromq/secpolicy
    
    Problem: no security policy

commit 153deece668a54c4aff50b8752f60abe9b18a3be
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Jun 30 16:00:41 2019 +0100

    Problem: no security policy
    
    Solution: add SECURITY.md with supported branches and maintainers public keys for private communications

 SECURITY.md | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 295 insertions(+)

commit d5067df2dd3f65f3bbe82827aa83081a960b7b3e
Merge: 4a855fb 1186e98
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Jun 28 18:20:38 2019 +0100

    Merge pull request #3559 from ssbl/inconsistent-naming-convention-fix
    
    Problem: code doesn't follow libzmq naming conventions

commit 1186e9868a10fe5fbab6aa8378c610412fe271ed
Author: Shubham Lagwankar <shubhu105@gmail.com>
Date:   Fri Jun 28 11:57:45 2019 -0400

    Problem: code doesn't follow libzmq naming conventions
    
    Solution: rename types/variables that are inconsistent

 perf/benchmark_radix_tree.cpp     |  18 +--
 src/radix_tree.cpp                | 296 +++++++++++++++++++-------------------
 src/radix_tree.hpp                |  76 +++++-----
 src/xsub.hpp                      |   2 +-
 unittests/unittest_radix_tree.cpp |  56 ++++----
 5 files changed, 225 insertions(+), 223 deletions(-)

commit 4a855fba8cf0b2a4ad0f2fc6885a2010d8a88abe
Merge: a43c842 3645619
Author: Doron Somech <somdoron@gmail.com>
Date:   Thu Jun 27 21:07:59 2019 +0300

    Merge pull request #3557 from bluca/docs
    
    Clarify documentation for zmq_unbind/disconnect and new batch options

commit 364561953a706e5e6c0a473ae80988b955ac909f
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Jun 27 18:22:17 2019 +0100

    Problem: zmq_disconnect documentation is confusing and breaks semantics
    
    Solution: restore separate zmq_unbind documentation, adding a note that the implementation
    might be shared but the semantics are different and should not be mixed.
    This avoids tying the API to the implementation details which might change for some
    engines.

 doc/zmq_disconnect.txt | 46 -----------------------------
 doc/zmq_unbind.txt     | 79 ++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 76 insertions(+), 49 deletions(-)

commit eba6fb29889a4e883570dbd99ff7649a9c7a4c83
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Jun 27 18:05:22 2019 +0100

    Problem: ZMQ_IN/OUT_BATCH_SIZE are dangerous
    
    Solution: clearly advise users to avoid them in all cases to
    avoid unforseen problems.
    Also fix markdown syntax, applicable transport types and getter description.

 doc/zmq_getsockopt.txt | 14 ++++++--------
 doc/zmq_setsockopt.txt | 20 ++++++++++++--------
 2 files changed, 18 insertions(+), 16 deletions(-)

commit a43c842e0dbc38f3a9ccff9534eb86638c430ef9
Merge: 68b744f d1e6fe1
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Jun 27 18:23:19 2019 +0100

    Merge pull request #3556 from ssbl/better-names
    
    Problem: variable and type names are not descriptive

commit 68b744fac58a767917e45c22b7d45c5ef41e647f
Merge: 4904bf7 cfcab66
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Jun 27 17:57:58 2019 +0100

    Merge pull request #3555 from jean-airoldie/batch_size_sockopt
    
    Problem: {in,out}_batch_size must be configured at compiled time

commit d1e6fe19b404311cf450635b17eb5f1e322f083c
Author: Shubham Lagwankar <shubhu105@gmail.com>
Date:   Thu Jun 27 11:34:54 2019 -0400

    Problem: variable and type names are not descriptive
    
    Solution: use more descriptive names
    
    This commit also improves comments related to some of the changes.

 src/radix_tree.cpp | 328 ++++++++++++++++++++++++++++-------------------------
 src/radix_tree.hpp |  73 ++++++------
 2 files changed, 211 insertions(+), 190 deletions(-)

commit cfcab66c71e43c0068706772ea04a60eb1afa972
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Thu Jun 27 00:34:56 2019 -0400

    Problem: {in,out}_batch_size must be configured at compiled time
    
    Solution: Added a socket option to configure them at runtime.

 doc/zmq_getsockopt.txt | 35 +++++++++++++++++++++++++++++++++++
 doc/zmq_setsockopt.txt | 34 ++++++++++++++++++++++++++++++++++
 include/zmq.h          |  2 ++
 src/config.hpp         | 12 ------------
 src/norm_engine.cpp    | 10 +++++++---
 src/norm_engine.hpp    |  4 +++-
 src/options.cpp        | 31 +++++++++++++++++++++++++++++++
 src/options.hpp        | 11 +++++++++++
 src/pgm_socket.cpp     |  6 +++---
 src/stream_engine.cpp  | 33 +++++++++++++++++----------------
 src/zmq_draft.h        |  2 ++
 11 files changed, 145 insertions(+), 35 deletions(-)

commit 4904bf7177750dc7904a0d038dd9f5ff9083316d
Merge: fcf828d 241b073
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Jun 23 19:22:07 2019 +0100

    Merge pull request #3550 from jean-airoldie/heartbeat_test
    
    Problem: missing heartbeat test for draft sockets

commit 241b073fd346a0c07df348b9d63373b10f5af3dd
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Sat Jun 22 14:48:18 2019 -0400

    Problem: missing heartbeat test for draft sockets
    
    Solution: Add heartbeat tests for CLIENT, SERVER, GATHER and SCATTER
        socket types. RADIO and DISH tests won't be added since heartbeating
        is not yet supported.

 tests/test_heartbeats.cpp | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit fcf828d34bb2ffaa75bacdf64be5cfb72a7111bb
Merge: 15dafb1 4d933c2
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Jun 21 11:31:20 2019 +0100

    Merge pull request #3547 from jean-airoldie/unbind-doc
    
    Problem: disconnect & unbind doc is misleading

commit 15dafb1c1ca0db2b06715e30cdee30d21c54572d
Author: Shubham Lagwankar <shubhu105@gmail.com>
Date:   Thu Jun 20 02:58:08 2019 -0400

    Problem: radix tree's apply function uses incorrect resizing logic (#3548)
    
    * Problem: radix tree's apply function uses incorrect resizing logic
    
    Solution: rewrite the function using a vector
    
    The buffer is extended once by 256 bytes, which will not be enough if
    the node holds data larger than this number.

 src/radix_tree.cpp | 35 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 18 deletions(-)

commit 4d933c28bed2c3fdcd03cd72e3d5bdd7ff320a9e
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Mon Jun 17 01:55:18 2019 -0400

    Problem: disconnect & unbind doc is misleading
    
    Make it explicit that the two functions are identical.
    Also document the expected disconnect behavior extensively
    and illustrate the difference between disconnecting a
    connected vs. bound endpoint.

 doc/zmq_disconnect.txt | 61 ++++++++++++++++++++++++++++++++++++++++------
 doc/zmq_unbind.txt     | 66 +++-----------------------------------------------
 2 files changed, 57 insertions(+), 70 deletions(-)

commit b17e854f1538a4166def174263319ef1d461bdde
Merge: 9534bbf 0503abb
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Jun 15 16:12:44 2019 +0100

    Merge pull request #3546 from skicc/patch-1
    
    CMake: don't try to link with librt on MinGW

commit 0503abb3360fd30415b821c88cda1f1f48c1c0e4
Author: skicc <skicc@fastmail.com>
Date:   Sat Jun 15 21:54:19 2019 +0800

    RELICENSE

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

commit d2be018800beeb59f8781113947cd56bf5e41399
Author: skicc <skicc@fastmail.com>
Date:   Sat Jun 15 21:48:32 2019 +0800

    CMake: don't try to link with librt on MinGW
    
    On MinGW, librt will might will found as rt library in MSYS, but fails linking with "cannot find -lrt" error.
    As librt is not avaiable on native Windows, we should never try to link with -lrt on MinGW (which is native Windows).

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

commit 9534bbfc4d5678f2c69e555f73909e0fde929d04
Merge: 46b498e 153418e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Jun 13 15:17:32 2019 +0100

    Merge pull request #3539 from guillon/dev-socks-tests
    
    Add tests for SOCKS proxy support

commit 153418e175bc1a4f0ea95a163cf17e9ee34a38da
Author: Christophe Guillon <christophe.guillon.perso@gmail.com>
Date:   Tue Jun 11 19:17:40 2019 +0200

    Add tests for SOCKS proxy support

 Makefile.am          |   7 +-
 tests/test_socks.cpp | 894 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 900 insertions(+), 1 deletion(-)

commit 46b498e59085fd317e69cf91f2bab58c144bb620
Merge: 27f9be1 e27a13a
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Jun 13 12:45:53 2019 +0100

    Merge pull request #3544 from somdoron/master
    
    problem: no artifacts for x64 on windows

commit e27a13a8ba3fe074138024c7794972f8d62655b1
Author: somdoron <somdoron@gmail.com>
Date:   Thu Jun 13 14:22:28 2019 +0300

    problem: no artifacts for x64 on windows
    
    solution: add x64 builds to appveyor

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

commit 8f66156aa35e952c87795e7b537128afcc023381
Author: somdoron <somdoron@gmail.com>
Date:   Wed Jun 12 16:11:32 2019 +0300

    problem: tests might fail and prevent deployment
    
    Solution: don't run tests on tags
    
    This doesn't break anything, as tags was not built until now. Anyway, when building tags we really care about the release of the packages and not tests

 appveyor.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 27f9be112532105ecf56ad8a353930995275cd39
Merge: aa6b644 f203064
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Jun 12 12:07:50 2019 +0100

    Merge pull request #3542 from guillon/fix-test-asserts
    
    Problem: test assertions not reporting the right line number

commit f203064374ec0d72571b7fefabbfa0f7308c50a1
Author: Christophe Guillon <christophe.guillon.perso@gmail.com>
Date:   Wed Jun 12 11:17:01 2019 +0200

    Problem: test assertions not reporting the right line number
    
    Solution: pass the line number as part of the testutil functions

 tests/testutil_unity.cpp | 20 ++++++++++----------
 tests/testutil_unity.hpp | 21 +++++++++++----------
 2 files changed, 21 insertions(+), 20 deletions(-)

commit aa6b6440f2ea881e7cdb88bc27b1f05439d724d4
Merge: 3cb1c37 ee6755f
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Jun 12 09:32:49 2019 +0100

    Merge pull request #3541 from somdoron/master
    
    problem: appveyor with libsodium change the current directory and bre…

commit ee6755ff1d3c4dfa9a488674f4eb560f61390746
Author: somdoron <somdoron@gmail.com>
Date:   Wed Jun 12 00:33:59 2019 +0300

    problem: appveyor with libsodium change the current directory and break the build
    
    Solution: do git pull without changing the current directoy

 appveyor.yml | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 3cb1c377ddd073712da8a8962184a00ab917edcb
Merge: aac3cd4 0a696d8
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jun 11 21:04:12 2019 +0100

    Merge pull request #3540 from somdoron/master
    
    problem: no artifact repository for windows

commit 0a696d8774c5b64b9ede6b797b5269ef058a2784
Author: somdoron <somdoron@gmail.com>
Date:   Tue Jun 11 15:35:22 2019 +0300

    problem: no artifact repository for windows
    
    Solution: deploy artifcats to bintray

 appveyor.yml | 37 +++++++++++++++++++++++++++++++++----
 1 file changed, 33 insertions(+), 4 deletions(-)

commit aac3cd4d93d288b29b71806c2478a947d66238b6
Merge: 1fdb152 321c288
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jun 11 19:14:00 2019 +0100

    Merge pull request #3535 from bluca/format
    
    Problem: formatting errors

commit 321c288005c0533d5a9d090d16dab6133682c49c
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jun 11 09:08:04 2019 +0100

    Problem: philippeleite relicense statement not added to the repository
    
    Solution: copy it from PR https://github.com/zeromq/libzmq/pull/3537

 RELICENSE/philippeleite.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 3c06ec118fbe2bf1b479936c2bd8d3cc4937004b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Jun 10 18:40:30 2019 +0100

    Problem: formatting errors
    
    Solution: apply clang-format-diff

 src/options.cpp         |  8 ++++----
 src/session_base.cpp    | 14 +++++++-------
 src/socks.cpp           | 11 ++++++-----
 src/socks_connecter.cpp | 36 +++++++++++++++++++-----------------
 src/thread.cpp          |  2 +-
 5 files changed, 37 insertions(+), 34 deletions(-)

commit 1fdb152b9dfe05f55279a6a646a4461a97fd2aa0
Merge: 2202587 8a02f70
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Jun 11 09:05:51 2019 +0100

    Merge pull request #3537 from philippeleite/patch-2
    
    pthread_equal to compare thread ids

commit 8a02f707060dc417d058b09f2eb50beab756e22f
Author: Philippe Bernardino Leite <philippe.leite@gmail.com>
Date:   Mon Jun 10 22:10:01 2019 -0300

    pthread_equal to compare thread ids
    
    I am trying to port ZeroMQ to z/OS USS and I faced several problems. One of them is this function "is_current_thread" trying to compare two thread ids with operator "==". I've changed the code to use the official function "pthread_equal" to compare thread ids and now it's working fine.

 src/thread.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 220258726723e9d1a4917b63baf035e3d47fff0c
Merge: 68558bc 58c30dc
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Jun 10 18:39:29 2019 +0100

    Merge pull request #3534 from guillon/dev-socks-basic-auth
    
    Implement SOCKS5 basic authentication

commit 58c30dc7d14ec5f3b9d7539304c707dd1f35cda3
Author: Christophe Guillon <christophe.guillon.perso@gmail.com>
Date:   Mon Jun 10 15:01:23 2019 +0200

    Add support for SOCKS5 basic authentication

 doc/zmq_setsockopt.txt  | 40 +++++++++++++++++++---
 include/zmq.h           |  2 ++
 src/options.cpp         | 26 ++++++++++++++
 src/options.hpp         |  6 ++++
 src/session_base.cpp    |  8 ++++-
 src/socks.cpp           | 90 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/socks.hpp           | 44 ++++++++++++++++++++++++
 src/socks_connecter.cpp | 91 +++++++++++++++++++++++++++++++++++++++++--------
 src/socks_connecter.hpp | 21 +++++++++++-
 src/zmq_draft.h         |  2 ++
 10 files changed, 309 insertions(+), 21 deletions(-)

commit 68558bc39458092f78d446be39d0af885579314a
Merge: 178f9e3 42cfa69
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Jun 10 14:11:39 2019 +0100

    Merge pull request #3532 from guillon/fix-socks-connect
    
    Fix issues with SOCKS5 proxy connection

commit 42cfa697f2b28ab0e849db780419a3ab3c01f325
Author: Christophe Guillon <christophe.guillon.perso@gmail.com>
Date:   Mon Jun 10 14:32:20 2019 +0200

    Fix issues with SOCKS5 proxy connection
    
    Two issues where introduced by commit 12c4b55a:
    - the proxy connection was done to the target address instead of
    the proxy address
    - on error the proxy connection status was not reset to unplugged

 src/socks_connecter.cpp | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

commit 9736f57f0859a94eb5fdd6ecdea291f26d68c247
Author: Christophe Guillon <christophe.guillon.perso@gmail.com>
Date:   Mon Jun 10 14:27:47 2019 +0200

    Add RELICENSE grant for guillon

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

commit 178f9e3f3cacd7d7476045aff1b9756a6d4a64f6
Merge: 96b9eec fae2677
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri May 31 16:49:42 2019 +0100

    Merge pull request #3527 from rotty/pr/clarify-zmq_msg_send-wording
    
    Problem: Unclear `zmq_msg_send` failure semantics

commit fae26774f58249f7aa50bb5aa87d27e556bda1dc
Author: Andreas Rottmann <a.rottmann@gmx.at>
Date:   Fri May 31 17:33:34 2019 +0200

    Problem: Unclear `zmq_msg_send` failure semantics
    
    Solution: Explicitly explain message ownership semantics when the call
    fails.
    
    Fixes #3526.

 doc/zmq_msg_send.txt | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

commit 96b9eece158311095cb0e3db9e6d655773385b57
Merge: 4dca267 940f54e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri May 24 10:14:23 2019 +0100

    Merge pull request #3521 from jackpimbert/master
    
    Add missing information on multicasting with high data rates to PGM docs

commit 940f54e7cec7c7cdc2f2041622f62ab73358038c
Author: jackpimbert <jack.pimbert@gmail.com>
Date:   Fri May 24 09:48:03 2019 +0200

    Problem: PGM doc missing info on high data rates
    
    Solution: Include a new section on configuring both ZMQ and the host
    OS tx/rx buffers to facilitate sending large messages at a high data
    rate with the PGM protocol.

 doc/zmq_pgm.txt | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

commit 840b9ba4fadcf94d1a4dcebabc8ee76b00f477a6
Author: jackpimbert <jack.pimbert@gmail.com>
Date:   Fri May 24 09:53:12 2019 +0200

    Problem: No relicense agreement by jackpimbert
    
    Solution: Added relicense agreement

 RELICENSE/jackpimbert.md | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

commit 4dca26767e71bd0474f9008100df500b722f1f1e
Merge: cef8065 196cb72
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 23 10:27:49 2019 +0100

    Merge pull request #3518 from ackalker/fix-use-of-test
    
    acinclude.m4, configure.ac: Fix several non-portable uses of `test`

commit 196cb723dfa1cb19625eaa61a6be2e7645cc3b7c
Author: Alain Kalker <a.c.kalker@gmail.com>
Date:   Thu May 23 11:15:32 2019 +0200

    Add RELICENSE entry

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

commit 9a397666d28ca5f3c0d8233be3d39b2206555f45
Author: Alain Kalker <a.c.kalker@gmail.com>
Date:   Wed May 22 01:30:54 2019 +0200

    acinclude.m4, configure.ac: Fix several non-portable uses of `test`
    
    Fixes #3517

 acinclude.m4 | 26 +++++++++++++-------------
 configure.ac |  2 +-
 2 files changed, 14 insertions(+), 14 deletions(-)

commit cef806550caa40d98c2827ef0caaccbfdb4af3f8
Merge: 2b63a89 5b07a11
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue May 21 14:45:42 2019 +0100

    Merge pull request #3516 from moretromain/fedorafix
    
    Fix Fedora 30 build

commit 5b07a1199c28d8a99b4800d26fb73a33a167b1a9
Author: Romain Moret <moretromain@gmail.com>
Date:   Tue May 21 15:07:00 2019 +0200

    Fix compiler error

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

commit 2b63a89635c146af6adcf103e1437307171aed58
Merge: 046ccfc 27005cc
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue May 21 13:23:40 2019 +0100

    Merge pull request #3515 from moretromain/win-threadname
    
    Implement thread_t::setThreadName() on windows

commit 27005cc1ae8e64f1932f98be2d8a5d94936ed77b
Author: Romain Moret <moretromain@gmail.com>
Date:   Mon May 20 19:27:12 2019 +0200

    Implement thread name on windows, cleanup thread naming internals

 src/ctx.cpp                   |  4 ---
 src/io_thread.cpp             |  2 --
 src/thread.cpp                | 68 ++++++++++++++++++++++++++++++++++---------
 src/thread.hpp                | 13 ++++-----
 src/windows.hpp               |  7 +++++
 tests/test_security_curve.cpp |  4 ---
 tests/testutil.hpp            |  7 +++++
 tests/testutil_unity.hpp      |  4 ---
 8 files changed, 75 insertions(+), 34 deletions(-)

commit 046ccfc408fd2f319a98fb89bb253274cc8b9cf3
Merge: 9cb266e bde18f3
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat May 18 19:18:42 2019 +0300

    Merge pull request #3513 from bluca/clang7
    
    Problem: clang-format 5 has issues with comments

commit 9cb266edaa92c249045fc974b7b19ce692bdb221
Merge: 2f98f70 19ff4d0
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat May 18 19:18:30 2019 +0300

    Merge pull request #3512 from bluca/fixes
    
    Problems: typos in docs, unnecessary ifdefs, duplicated APIs

commit bde18f3ede841346321b4dd0e87109d4880672c6
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat May 18 17:02:06 2019 +0100

    Problem: comments before ifdefs are wrongly formatted
    
    Solution: now that clang-format 6+ is used in the CI, fix it

 src/options.cpp         | 8 ++++----
 src/socket_base.cpp     | 8 ++++----
 src/socks_connecter.cpp | 2 +-
 src/tcp_connecter.cpp   | 6 +++---
 src/udp_engine.cpp      | 4 ++--
 src/ypipe.hpp           | 6 +++---
 src/ypipe_conflate.hpp  | 6 +++---
 src/zmq.cpp             | 2 +-
 8 files changed, 21 insertions(+), 21 deletions(-)

commit 5de3aa1555ad0ed8611033f7257c0d4ad332ed23
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat Apr 6 20:59:19 2019 +0100

    Problem: clang-tidy 6 has issues with comments
    
    Solution: bump CI to version 7

 .travis.yml | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

commit 19ff4d0b6a36a0d42c04001a9e3fa90064d76451
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat May 18 16:22:46 2019 +0100

    Problem: zmq_socket_monitor_versioned_typed duplicates zmq_socket_monitor_versioned
    
    Solution: unify the two APIs, as they are both still in DRAFT state and
    thus can be changed.

 doc/zmq_socket_monitor_versioned.txt | 22 ++----------------
 include/zmq.h                        |  6 +----
 src/zmq.cpp                          | 20 ++++------------
 src/zmq_draft.h                      |  6 +----
 tests/test_monitor.cpp               | 44 +++++++++++++++++-------------------
 5 files changed, 29 insertions(+), 69 deletions(-)

commit 797439c8e2fe4b845856115c44902d8d9e371b86
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat May 18 16:14:58 2019 +0100

    Problem: typos in manpage entry for ZMQ_XPUB_MANUAL_LAST_VALUE
    
    Solution: fix them

 doc/zmq_setsockopt.txt | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

commit 41be0f53869b2ccf97a6dfed9024b0dd793dd004
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat May 18 16:11:33 2019 +0100

    Problem: new xpub option is in critical path
    
    Solution: use unlikely to optimize for the most common case

 src/xpub.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a53dfe936a3690f03ff7a45691d09a6be42467ae
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat May 18 16:08:10 2019 +0100

    Problem: many unnecessary ifdefs covering new xpub option
    
    Solution: remove them, only public headers have to be ifdef'd

 src/xpub.cpp | 17 ++---------------
 src/xpub.hpp |  2 --
 2 files changed, 2 insertions(+), 17 deletions(-)

commit 9bcfc251f42f699be1e5565826eae68c2f85852d
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat May 18 16:02:30 2019 +0100

    Problem: new test_xpub_manual_last_value not built by automake
    
    Solution: list it

 Makefile.am | 5 +++++
 1 file changed, 5 insertions(+)

commit 2f98f7034bb2fb7c59cbb9363c90ca9b2a2a0da1
Author: imkcy9 <imkcy9@icloud.com>
Date:   Sat May 18 05:12:32 2019 +0800

     Support XPub socket send last value caching to last subscription pipe with ZMQ_XPUB_MANUAL_LAST_VALUE. (#3511)
    
    * Add ZMQ_XPUB_MANUAL_LAST_VALUE
    
    * Surpport xpub send last value caching to one pipe with ZMQ_XPUB_MANUAL_LAST_VALUE
    
    * Add test_xpubub_manual_last_value
    
    * Add relicense and doc

 RELICENSE/imkcy9.md                   |  16 ++
 doc/zmq_setsockopt.txt                |  17 ++
 include/zmq.h                         |   1 +
 src/xpub.cpp                          |  30 ++
 src/xpub.hpp                          |   8 +
 src/zmq_draft.h                       |   1 +
 tests/CMakeLists.txt                  |   1 +
 tests/test_xpub_manual_last_value.cpp | 510 ++++++++++++++++++++++++++++++++++
 8 files changed, 584 insertions(+)

commit 6b51f033776c821c41dc98150ab92b247f32fa18
Merge: 3aca047 8738ada
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed May 15 12:25:03 2019 +0100

    Merge pull request #3509 from jean-airoldie/monitor_typed
    
    Problem: Potentially unitialized variable in #3508

commit 8738ada00f3c52ec7b53c8feb30b6fbbfa1f1b50
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Wed May 15 06:27:01 2019 -0400

    Problem: Endpoints are sometimes not unbound quick enough
    
    Solution: Create a unique endpoint for each fcn call.

 tests/test_monitor.cpp | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

commit 7836ec752c87b74e380c9ecab0c0cf0291ea358c
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Wed May 15 05:32:45 2019 -0400

    Problem: Potentially unitialized variable in #3508
    
    Solution: Initialized it

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

commit 3aca047b96a3159816d8cca2d1644e6e4d12673e
Merge: e285fe6 606a8f7
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed May 15 09:48:29 2019 +0200

    Merge pull request #3508 from jean-airoldie/monitor_typed
    
    Problem: Socket monitoring only allows ZMQ_PAIR

commit 606a8f7967ccd9d971e7542236a12879a77254b6
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Mon May 13 23:22:19 2019 -0400

    Problem: Socket monitoring only allows ZMQ_PAIR
    
    Solution: Allow ZMQ_PUB and ZMQ_PUSH sockets types for the monitoring.
    This way someone could create a ZMQ_PULL socket connected to multiple
    monitoring sockets at the same time.

 doc/zmq_socket_monitor_versioned.txt | 27 +++++++++++++
 include/zmq.h                        |  2 +
 src/socket_base.cpp                  | 22 ++++++++++-
 src/socket_base.hpp                  |  5 ++-
 src/zmq.cpp                          | 12 +++++-
 src/zmq_draft.h                      |  2 +
 tests/test_monitor.cpp               | 74 ++++++++++++++++++++++++++++++------
 7 files changed, 128 insertions(+), 16 deletions(-)

commit e285fe6ea71523654b52efddacb4b8118195cf67
Merge: 65dd38b 6e1c58e
Author: Doron Somech <somdoron@gmail.com>
Date:   Fri May 10 11:43:23 2019 +0300

    Merge pull request #3502 from sigiesec/fix-plain-hello-message
    
    Problem: PLAIN HELLO message incorrectly uses WELCOME literal

commit 6e1c58e86e626b67307a3692470a80e3bc557e6d
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 10 03:41:16 2019 -0400

    Problem: PLAIN HELLO message incorrectly uses WELCOME literal
    
    Solution: change to HELLO

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

commit 65dd38b268bb8c4def26ee1921eb5f45dc2d2fae
Merge: 548f31d d46c580
Author: Doron Somech <somdoron@gmail.com>
Date:   Thu May 9 20:22:33 2019 +0300

    Merge pull request #3499 from sigiesec/fix-windows-build
    
    Problem: signature of zmq_poller_fd does is incompatible with regular…

commit d46c580977e95e858464be8c0329d8ce1229d870
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 9 09:58:12 2019 -0400

    Problem: signature of zmq_poller_fd does is incompatible with regular error handling
    
    Solution: change return type to int (again) and return fd via an output parameter

 doc/zmq_poller.txt    | 5 +++--
 include/zmq.h         | 2 +-
 src/socket_poller.cpp | 5 +++--
 src/socket_poller.hpp | 2 +-
 src/zmq.cpp           | 4 ++--
 tests/test_poller.cpp | 9 ++++++---
 6 files changed, 16 insertions(+), 11 deletions(-)

commit 548f31d4b452eb9bb69b65a8836deee5bef4cc8f
Merge: d3f52b2 63c4d8b
Author: Doron Somech <somdoron@gmail.com>
Date:   Thu May 9 14:36:54 2019 +0300

    Merge pull request #3498 from sigiesec/fix-windows-build
    
    Problem: syntax error on Windows related to socket descriptor type

commit 63c4d8be7891c66d69151ae917ccfeea28cc217e
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 9 07:21:08 2019 -0400

    Problem: syntax error on Windows related to socket descriptor type
    
    Solution: use proper fd_t type, and also define and use a zmq_fd_t in the API

 include/zmq.h         | 27 +++++++++++----------------
 src/socket_poller.cpp |  2 +-
 src/socket_poller.hpp |  2 +-
 src/zmq.cpp           |  2 +-
 src/zmq_draft.h       | 26 +++++++++++---------------
 5 files changed, 25 insertions(+), 34 deletions(-)

commit d3f52b2b91de7336be6f0ebdff4a767573100f58
Merge: f41f514 8996912
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed May 8 11:34:47 2019 +0100

    Merge pull request #3497 from sigiesec/fix-cmake-config
    
    Problem: generated ZeroMQConfig.cmake does not work when only static …

commit 8996912cad45451a234254f8483c5d6319c1b9af
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 8 05:19:39 2019 -0400

    Problem: generated ZeroMQConfig.cmake does not work when only static or shared library was built
    
    Solution: check for availability of shared/static libzmq targets

 builds/cmake/ZeroMQConfig.cmake.in | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit f41f51461fd86f2272209a3175d1df0e655883ef
Merge: ea109fc 2d8ef84
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue May 7 16:49:23 2019 +0100

    Merge pull request #3496 from sigiesec/cleanup-cmakelists
    
    Some cleanup in CMakeLists.txt

commit 2d8ef84760b673d90db331e077fac369665cdbbd
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Apr 23 09:12:56 2019 -0400

    Problem: CMAKE_REQUIRED_INCLUDES used in a wrong way, check_function_exists is problematic
    
    Solution: use check_cxx_symbol_exists resp. check_type_size instead

 CMakeLists.txt | 62 +++++++++++++++++-----------------------------------------
 1 file changed, 18 insertions(+), 44 deletions(-)

commit 3e5843d0738ef0f44382b3e4ff8d7ee2f6681613
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Apr 23 08:54:40 2019 -0400

    Problem: include directives are cluttered throughout CMakeLists.txt
    
    Solution: Group include directives together at the beginning of the CMakeLists.txt file

 CMakeLists.txt | 51 ++++++++++++++++++++++++---------------------------
 1 file changed, 24 insertions(+), 27 deletions(-)

commit 7c53567b93fee75e4ee984b3c6e7bc55b681b539
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Apr 23 08:46:27 2019 -0400

    Problem: extra character in option name
    
    Solution: remove it

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 9e4b6632c2d56ae3ccbe64aba6dee15c431fca0b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Apr 23 08:41:56 2019 -0400

    Problem: misspelled ar program name
    
    Solution: fix spelling

 builds/qnx/ToolchainQNX6.6_x86.cmake | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 635f093744673ea20f7e38e67d68918ea2f6341e
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Apr 23 08:41:06 2019 -0400

    Problem: redundant output in CMakeLists.txt
    
    Solution: remove redundant debug output

 CMakeLists.txt | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

commit ea109fcaabba04845fe5379a8f1f71412dd95088
Merge: 7971be9 a565718
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon May 6 22:49:45 2019 +0100

    Merge pull request #3493 from moretromain/cmake-fix
    
    Fix a typo in root CMakeLists.txt

commit a565718505605cf690ce086b9f1aed7ab3fc42c5
Author: Romain Moret <moretromain@gmail.com>
Date:   Mon May 6 20:31:15 2019 +0200

    RELICENSE: moretromain grant

 RELICENSE/moretromain.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 8eee5eb1a86e81e2645eaca9b4b6c162f643c755
Author: Romain Moret <moretromain@gmail.com>
Date:   Mon May 6 20:19:50 2019 +0200

    Fix a typo in CMakeLists.txt

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7971be930b927c637759f716a91b24587a7694af
Merge: 8c8110a ca2e8b3
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat May 4 19:03:12 2019 +0300

    Merge pull request #3491 from bluca/gcc9
    
    Problem: build broken on Fedora 30

commit ca2e8b3b19c3453420e6e56d271e22221b2e9cdd
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat May 4 15:05:09 2019 +0100

    Problem: build broken on Fedora 30
    
    Solution: use AC_COMPILE_IFELSE instead of AC_CHECK_FUNCS to check for
    strnlen, as the latter does not work anymore.

 configure.ac | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

commit 8c8110a1364b0e4f6a7b30459169e1b8f65a68ad
Merge: 92eedc5 cdbe120
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 2 22:45:02 2019 +0100

    Merge pull request #3490 from jean-airoldie/zmq_poller_fd_doc
    
    Problem: Missing doc & unit tests for zmq_poller_fd

commit cdbe12073817c58a0dd56c32f1f0ab6149de8fd2
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Thu May 2 06:07:06 2019 -0400

    Problem: No invalid pointer handling for zmq_poller_fd
    
    Solution: Add some and document it.

 doc/zmq_poller.txt    |  2 ++
 src/zmq.cpp           |  8 +++++++-
 tests/test_poller.cpp | 11 +++++++++++
 3 files changed, 20 insertions(+), 1 deletion(-)

commit 19dd8195bed65a4812a5584995b47f533f7e30fb
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Thu May 2 05:40:16 2019 -0400

    Problem: Missing doc & unit tests for zmq_poller_fd
    
    Solution: Add doc & unit tests

 doc/zmq_poller.txt    | 12 ++++++++++++
 tests/test_poller.cpp | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)

commit 92eedc5716b9d4e4db225335d3adccbbc2a8da54
Merge: 9bee21b dad917e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 2 08:12:36 2019 +0100

    Merge pull request #3489 from normano/master
    
    Problem: zmq_socket_monitor example did not include HANDSHAKE_SUCCEEDED event causing assert failure

commit dad917e04eb34caf545d4c3eb0f00f34c7d0b022
Author: normano <novenseri@gmail.com>
Date:   Wed May 1 21:43:01 2019 -0700

    fixed date

 RELICENSE/normano.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 97b51e81d3ca1a87e6b2fabf76e34e553730a201
Author: normano <novenseri@gmail.com>
Date:   Wed May 1 19:48:49 2019 -0700

    Added RELICENSE for normano contribution

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

commit 9780011846d16a5978630ccacf9eef3aa7288d42
Author: normano <novenseri@gmail.com>
Date:   Wed May 1 19:32:53 2019 -0700

    Fixed zmq_socket_monitor example

 doc/zmq_socket_monitor.txt | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

commit 9bee21b364f540fad0e49040931d6846c1492178
Merge: 501f9d8 05aadc4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Apr 28 15:18:27 2019 +0100

    Merge pull request #3484 from jean-airoldie/poller_fd
    
     Problem: Cannot get thread safe socket fd

commit 05aadc4e388065a522db96157242eb62320a06ee
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Sat Apr 27 21:52:49 2019 -0400

    Problem: no relicense agreement by jean-airoldie
    
    Solution: add one

 RELICENSE/jean-airoldie.md | 7 +++++++
 1 file changed, 7 insertions(+)

commit 046534480bd9973eb124ad3b4c88175521865106
Author: jean-airoldie <25088801+jean-airoldie@users.noreply.github.com>
Date:   Sat Apr 27 20:36:24 2019 -0400

    Problem: Cannot get thread safe socket fd
    
    Solution: Add a method to get the zmq_poller's signaler fd. Then we can
    associate a poller instance with every thread safe socket and use its
    fd.

 include/zmq.h         |  1 +
 src/socket_poller.cpp | 11 +++++++++++
 src/socket_poller.hpp |  2 ++
 src/zmq.cpp           |  5 +++++
 src/zmq_draft.h       |  1 +
 5 files changed, 20 insertions(+)

commit 501f9d8da4b2201a6603c8cd8a0ff7525ee76fc6
Merge: e3a9677 e9678ef
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Apr 24 21:53:01 2019 +0100

    Merge pull request #3483 from ssbl/dead-code-fix
    
    Problem: unused Windows-specific code in sleep_ms

commit e9678efe00814038b7dbbdbd93e380e47b51ecf1
Author: Shubham Lagwankar <shubhu105@gmail.com>
Date:   Wed Apr 24 14:39:27 2019 -0400

    Problem: unused Windows-specific code in sleep_ms
    
    Solution: remove it since sleep_ms isn't used on Windows

 src/signaler.cpp | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit e3a96778b6fae8a80eb22d5a4f411c1cfb2666de
Merge: 9067e3a 761af49
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Apr 19 22:57:14 2019 +0100

    Merge pull request #3481 from neheb/patch-1
    
    Add <ios> include to fix uClibc++ compilation

commit 761af4939f0b39a493ebe81970bdb57a290288ce
Author: Rosen Penev <rosenp@gmail.com>
Date:   Fri Apr 19 14:18:29 2019 -0700

    Add RELICENSE entry
    
    Signed-off-by: Rosen Penev <rosenp@gmail.com>

 RELICENSE/neheb.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 091e15a28d2d04ed2e0ae0ed08b06a987b81e29f
Author: Rosen Penev <rosenp@gmail.com>
Date:   Fri Apr 19 12:16:01 2019 -0700

    Add <ios> include to fix uClibc++ compilation
    
    Under uClibc++, streamoff is defined in <ios>. This header is needed to fix compilation.

 src/blob.hpp | 1 +
 1 file changed, 1 insertion(+)

commit 9067e3ac9de437be2f9924d51d6f132b669b8dbe
Merge: 494a82f 0a5ca64
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Apr 18 14:58:06 2019 +0100

    Merge pull request #3480 from ipa/zeromq-3479
    
    Zeromq 3479: fixed build for QNX 6.6 with CMake

commit 0a5ca642e29fda04b24570a604d64be817617276
Author: Iwan Paolucci <iwan.paolucci@artorg.unibe.ch>
Date:   Thu Apr 18 14:21:30 2019 +0200

    corrected name in the signature of relicense statement

 RELICENSE/ipa.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c65fa0a34d22a43b886337f6f1bd9adf80457022
Author: Iwan Paolucci <iwan.paolucci@artorg.unibe.ch>
Date:   Thu Apr 18 13:41:32 2019 +0200

    Problem: QNX crosscompiler needs additional parameters to chosse the correct platform
    
    Solution: Use a toolchain file for QNX x86

 builds/qnx/ToolchainQNX6.6_x86.cmake | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit c531514c339ce66f09522d921e4819e2ba48e2ce
Author: Iwan Paolucci <iwan.paolucci@artorg.unibe.ch>
Date:   Thu Apr 18 13:30:32 2019 +0200

    Problem: no relicense agreement by ipa
    
    Solution: added relicense agreement

 RELICENSE/ipa.md | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit e1a895917c755179a6ba9750a6a683daf5d3001f
Author: Iwan Paolucci <iwan.paolucci@artorg.unibe.ch>
Date:   Thu Apr 18 13:23:36 2019 +0200

    Problem: libzmq does not build on QNX 6.6 using CMake #3479
    
    Solution: libm and libsocket have to be linked explicitely

 CMakeLists.txt           | 23 +++++++++++++++++++++--
 tests/CMakeLists.txt     |  8 +++++++-
 unittests/CMakeLists.txt |  5 +++++
 3 files changed, 33 insertions(+), 3 deletions(-)

commit 494a82f0e70855e727329ea8c1c6135dad1f0d28
Merge: cc99846 7d26319
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Apr 14 11:31:43 2019 +0100

    Merge pull request #3478 from Omegastick/master
    
    Fix Radix Tree benchmark includes when used as submodule

commit 7d2631924792aaa1e3bef4715bf69f0bda3ff481
Author: Omegastick <omegastick@hotmail.co.uk>
Date:   Sun Apr 14 16:59:19 2019 +0900

    Problem: No relicense statement for Omegastick
    
    Solution: Add a relicense statement for Omegastick

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

commit 43e398ed866b0331a7ddbe5b96752474fd9e42c0
Author: Omegastick <omegastick@hotmail.co.uk>
Date:   Sun Apr 14 16:51:59 2019 +0900

    Problem: Radix Tree benchmarks break when project is used as a submodule
    
    Solution: Use CMAKE_CURRENT_LIST_DIR instead of CMAKE_SOURCE_DIR when findng includes

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit cc998461561a77fdfc178164c121f640db5ed4f5
Merge: de4d69f f4b0f32
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Fri Apr 12 17:50:00 2019 +0200

    Merge pull request #3477 from bluca/manpages
    
    Problems: formatting errors in docs reported by linters

commit f4b0f327de817fe3e0ddbc2258b8ebff06001d01
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Apr 12 12:57:54 2019 +0100

    Problem: markup error in zmq_socket.txt
    
    Solution: fix it

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

commit 8f77150c80f1857c15b763a506ea5a3b6fc6e770
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Apr 12 12:17:03 2019 +0100

    Problem: man errors, can't break lines
    
    Solution: add space between OR'ed values
    
    zmq_getsockopt.3 2472: warning [p 17, 9.5i, div '3tbd1,1', 0.5i]: can't break line
    zmq_setsockopt.3 3471: warning [p 24, 1.8i, div '3tbd1,1', 0.5i]: can't break line

 doc/zmq_getsockopt.txt | 2 +-
 doc/zmq_setsockopt.txt | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit de4d69f59788fed86bcb0f610723c5acd486a7da
Merge: 5b140ba 3c21eed
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat Apr 6 06:12:19 2019 +0300

    Merge pull request #3473 from bluca/format
    
    Problem: CI format check fails

commit 3c21eed0a10b60811a0059717f595c5fca33f1c0
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat Apr 6 00:12:32 2019 +0100

    Problem: CI format check fails
    
    Solution: fix it

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

commit 5b140baf4550fd2c783d5c464bb724e49c596a7c
Merge: db7bdd1 320ed68
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Fri Apr 5 21:39:26 2019 +0200

    Merge pull request #3472 from bluca/hardening
    
    Problem: immediate binding hardening not used by debian package

commit 320ed68ce9b9348e7c15b3ac21ab3050f0db50ac
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Apr 5 20:34:01 2019 +0100

    Problem: immediate binding hardening not used by debian package
    
    Solution: set hardening=+all in Debian packaging rules

 packaging/debian/rules | 2 ++
 1 file changed, 2 insertions(+)

commit db7bdd1b1afe7fe00b8f226926a52ba366dfb916
Author: Serhio <g@kitaika.com>
Date:   Fri Apr 5 12:54:26 2019 +0300

    Some explicit endpoint type changes to support GCC 5 (#3468)
    
    * Some explicit endpoint type changes to support GCC 5
    
    * ../RELICENSE/SergheiNovac.md

 RELICENSE/SergheiNovac.md | 15 +++++++++++++++
 src/socket_base.cpp       | 15 ++++++++-------
 src/vmci_connecter.cpp    | 12 +++++++-----
 src/vmci_listener.cpp     | 13 +++++++------
 4 files changed, 37 insertions(+), 18 deletions(-)

commit 6c613902da0911682d5ffa09c7a776b751a59106
Merge: bdccfe4 b9041bf
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Apr 2 19:44:55 2019 +0100

    Merge pull request #3467 from sigiesec/improve-hwm-pubsub-test
    
    Improve hwm pubsub test

commit b9041bf78c06b126f90edbbc1a9873576a9090f7
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Tue Apr 2 18:52:48 2019 +0200

    Problem: missing information on assertion failure
    
    Solution: include sent and received counts on assertion failure

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

commit d328f90bb74ee23fefa49eeb578e5f2fc680c147
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Tue Apr 2 18:38:10 2019 +0200

    Problem: inadequate recv variant used which assumes 0-terminated string
    
    Solution: use array recv variant instead

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

commit a5ee4fb0016db6f2b09e639621e5fefe22d179cf
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Tue Apr 2 18:36:18 2019 +0200

    Problem: code duplication for multiple transports, multiple test cases combined in one
    
    Solution: split test cases and remove code duplication

 tests/test_hwm_pubsub.cpp | 60 +++++++++++++++++++++++++++--------------------
 1 file changed, 35 insertions(+), 25 deletions(-)

commit 06f5a6f28257d03719c03aa404835810bb6fe036
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Tue Apr 2 18:35:35 2019 +0200

    Problem: use of generic assertion macro
    
    Solution: use more specific assertion macro

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

commit d4401b230be07650873fea3f9fc09f79ce1f7ff4
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Tue Apr 2 18:34:51 2019 +0200

    Problem: test case not making use of test_bind helper function
    
    Solution: replace custom code by test_bind

 tests/test_hwm_pubsub.cpp | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

commit bdccfe40975ccd1ce22791bfdaa7a9c463bbb909
Merge: e20861a 2de7f9c
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Thu Mar 28 12:33:11 2019 +0100

    Merge pull request #3464 from bluca/ericcson_grant
    
    Relicensing grant from Ericsson

commit 2de7f9ccf984ca8cce7161b76c128eb2bf74a073
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Mar 28 10:53:32 2019 +0000

    Relicensing grant from Ericsson
    
    Received via email on 2019/03/27, message-id:
    
    BL0PR1501MB2003AF12CCA96A583B16D10F9A590@BL0PR1501MB2003.namprd15.prod.outlook.com

 RELICENSE/ericsson.md | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit e20861a065bfb74f66818eda0fde198ed879ac10
Merge: 25bb43c 42e27b7
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 27 13:17:47 2019 +0000

    Merge pull request #3463 from sigiesec/fix-3269
    
    Problem: socket returned by ZMQ_FD cannot be used with CreateIoComple…

commit 42e27b7d0d58f754d7d766a82cda72bc431f4f60
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Mar 26 18:18:33 2019 +0100

    Problem: socket returned by ZMQ_FD cannot be used with CreateIoCompletionPort
    
    Solution: add WSA_FLAG_OVERLAPPED socket flag

 src/ip.cpp              |  5 +++--
 tests/test_pair_tcp.cpp | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 2 deletions(-)

commit 25bb43c33ad158a337ed349073f0a5deb74152c1
Merge: 454c0b8 47dba21
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 25 09:07:21 2019 +0000

    Merge pull request #3461 from sigiesec/refactor-tests
    
    Refactor tests

commit 47dba21005ab84b67d8a1b360e143bec5178ede7
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 13:46:15 2019 -0400

    Problem: code is unnecessarily imperative
    
    Solution: make more functional-style

 src/session_base.cpp | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)

commit bfec30b1e5e060246f17a170671c65c16435574f
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 13:25:55 2019 -0400

    Problem: test_address_tipc is unnecessarily verbose
    
    Solution: make use of custom Unity macros

 tests/test_address_tipc.cpp | 75 ++++++++++-----------------------------------
 1 file changed, 16 insertions(+), 59 deletions(-)

commit 386de330307dd7b98dd533c6bcdafdf72cbb36df
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 13:21:43 2019 -0400

    Problem: code from bind_loopback_tipc is duplicated
    
    Solution: call bind_loopback_tipc where applicable

 tests/test_address_tipc.cpp | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

commit 0e0bead3cf4b9a78e75a4696e731d70b086b51ee
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 13:19:36 2019 -0400

    Problem: code from bind_loopback_ipc is duplicated
    
    Solution: call bind_loopback_ipc where applicable

 tests/test_ipc_wildcard.cpp |  6 +-----
 tests/test_pair_ipc.cpp     |  5 +----
 tests/test_reqrep_ipc.cpp   | 10 ++--------
 3 files changed, 4 insertions(+), 17 deletions(-)

commit 7f64b925aa3a9fadaa3965d996dd7572df7d7f25
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 13:17:22 2019 -0400

    Problem: code from bind_loopback_ipv4 is duplicated
    
    Solution: call bind_loopback_ipv4 where applicable

 tests/test_conflate.cpp         |  6 +-----
 tests/test_ctx_options.cpp      |  7 ++-----
 tests/test_hwm_pubsub.cpp       |  5 +----
 tests/test_reconnect_ivl.cpp    | 11 ++++-------
 tests/test_router_handover.cpp  |  7 +------
 tests/test_router_mandatory.cpp |  6 +-----
 tests/test_thread_safe.cpp      |  5 +----
 7 files changed, 11 insertions(+), 36 deletions(-)

commit 8dc933f2ed805b0e97dd81465ba57bc200379d0a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 13:05:38 2019 -0400

    Problem: non-expressive test case name
    
    Solution: rename to more meaningful name

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

commit 34999d506980cd88c6408ffa80e6cf78177fe89a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 13:02:50 2019 -0400

    Problem: s_send(more) can be replaced by safer send_string_expect_success
    
    Solution: remove s_send(more) and replace all uses

 tests/test_metadata.cpp            | 20 ++++++++++----------
 tests/test_proxy.cpp               |  2 +-
 tests/test_proxy_single_socket.cpp |  3 +--
 tests/test_proxy_terminate.cpp     |  3 +--
 tests/test_scatter_gather.cpp      |  3 ++-
 tests/test_security_gssapi.cpp     | 20 ++++++++++----------
 tests/test_security_null.cpp       | 20 ++++++++++----------
 tests/test_security_plain.cpp      | 21 +++++++++++----------
 tests/testutil.cpp                 | 12 ------------
 tests/testutil.hpp                 |  6 ------
 tests/testutil_security.cpp        | 34 +++++++++++++++++++---------------
 11 files changed, 65 insertions(+), 79 deletions(-)

commit af4fa22fd896a3b032794d52bd367b24841775dc
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 12:51:28 2019 -0400

    Problem: default test setUp/tearDown functions duplicated in many test programs
    
    Solution: define setUp/tearDown functions via SETUP_TEARDOWN_TESTCONTEXT macro where possible

 tests/test_abstract_ipc.cpp            | 11 +----------
 tests/test_bind_after_connect_tcp.cpp  | 12 +-----------
 tests/test_bind_src_address.cpp        | 12 +-----------
 tests/test_client_server.cpp           | 12 +-----------
 tests/test_conflate.cpp                | 12 +-----------
 tests/test_connect_delay_tipc.cpp      | 12 +-----------
 tests/test_connect_rid.cpp             | 10 +---------
 tests/test_ctx_options.cpp             | 10 +---------
 tests/test_dgram.cpp                   | 11 +----------
 tests/test_diffserv.cpp                | 12 +-----------
 tests/test_disconnect_inproc.cpp       | 10 +---------
 tests/test_filter_ipc.cpp              | 10 +---------
 tests/test_fork.cpp                    | 10 +---------
 tests/test_getsockopt_memset.cpp       |  9 +--------
 tests/test_heartbeats.cpp              | 11 +----------
 tests/test_hwm.cpp                     | 12 +-----------
 tests/test_hwm_pubsub.cpp              | 10 +---------
 tests/test_immediate.cpp               | 12 +-----------
 tests/test_inproc_connect.cpp          | 10 +---------
 tests/test_invalid_rep.cpp             | 12 +-----------
 tests/test_iov.cpp                     | 11 +----------
 tests/test_ipc_wildcard.cpp            | 12 +-----------
 tests/test_issue_566.cpp               | 12 +-----------
 tests/test_last_endpoint.cpp           | 12 +-----------
 tests/test_many_sockets.cpp            | 10 +---------
 tests/test_mock_pub_sub.cpp            | 10 +---------
 tests/test_monitor.cpp                 | 10 +---------
 tests/test_msg_ffn.cpp                 | 10 +---------
 tests/test_msg_flags.cpp               | 10 +---------
 tests/test_pair_ipc.cpp                | 12 +-----------
 tests/test_pair_tcp.cpp                | 11 +----------
 tests/test_pair_tcp_cap_net_admin.cpp  | 10 +---------
 tests/test_pair_tipc.cpp               | 12 +-----------
 tests/test_pair_vmci.cpp               | 10 +---------
 tests/test_poller.cpp                  | 11 +----------
 tests/test_probe_router.cpp            | 10 +---------
 tests/test_proxy.cpp                   | 10 +---------
 tests/test_proxy_single_socket.cpp     | 10 +---------
 tests/test_proxy_terminate.cpp         | 10 +---------
 tests/test_pub_invert_matching.cpp     | 10 +---------
 tests/test_radio_dish.cpp              | 12 +-----------
 tests/test_rebind_ipc.cpp              | 12 +-----------
 tests/test_reconnect_ivl.cpp           | 12 +-----------
 tests/test_req_correlate.cpp           | 10 +---------
 tests/test_reqrep_device.cpp           | 12 +-----------
 tests/test_reqrep_device_tipc.cpp      | 12 +-----------
 tests/test_reqrep_inproc.cpp           | 12 +-----------
 tests/test_reqrep_ipc.cpp              | 11 +----------
 tests/test_reqrep_tcp.cpp              | 10 +---------
 tests/test_reqrep_tipc.cpp             | 12 +-----------
 tests/test_reqrep_vmci.cpp             | 10 +---------
 tests/test_router_handover.cpp         | 13 +------------
 tests/test_router_mandatory.cpp        | 11 +----------
 tests/test_router_mandatory_hwm.cpp    | 10 +---------
 tests/test_router_mandatory_tipc.cpp   | 10 +---------
 tests/test_router_notify.cpp           | 11 +----------
 tests/test_scatter_gather.cpp          | 12 +-----------
 tests/test_security_no_zap_handler.cpp | 10 +---------
 tests/test_security_zap.cpp            | 10 +---------
 tests/test_setsockopt.cpp              | 10 +---------
 tests/test_sockopt_hwm.cpp             | 12 +-----------
 tests/test_spec_dealer.cpp             | 11 +----------
 tests/test_spec_pushpull.cpp           | 10 +---------
 tests/test_spec_rep.cpp                | 11 +----------
 tests/test_spec_req.cpp                | 12 +-----------
 tests/test_spec_router.cpp             | 12 +-----------
 tests/test_srcfd.cpp                   | 11 +----------
 tests/test_stream.cpp                  | 10 +---------
 tests/test_stream_disconnect.cpp       | 10 +---------
 tests/test_stream_empty.cpp            | 10 +---------
 tests/test_stream_exceeds_buffer.cpp   | 10 +---------
 tests/test_stream_timeout.cpp          | 10 +---------
 tests/test_sub_forward.cpp             | 12 +-----------
 tests/test_sub_forward_tipc.cpp        | 12 +-----------
 tests/test_system.cpp                  | 10 +---------
 tests/test_term_endpoint.cpp           | 10 +---------
 tests/test_term_endpoint_tipc.cpp      | 10 +---------
 tests/test_thread_safe.cpp             | 12 +-----------
 tests/test_timeo.cpp                   | 12 +-----------
 tests/test_unbind_wildcard.cpp         | 10 +---------
 tests/test_use_fd.cpp                  | 12 +-----------
 tests/test_xpub_manual.cpp             | 10 +---------
 tests/test_xpub_nodrop.cpp             | 10 +---------
 tests/test_xpub_verbose.cpp            | 10 +---------
 tests/test_xpub_welcome_msg.cpp        | 12 +-----------
 tests/test_zmq_poll_fd.cpp             | 11 +----------
 tests/testutil_unity.hpp               |  6 ++++++
 87 files changed, 92 insertions(+), 851 deletions(-)

commit 2b80dd7add9327a7af1819ad2593a6aeca84b8b5
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 24 12:35:19 2019 -0400

    Problem: test_bind used with explicit endpoint where bind_loopback_ipv4 could be used
    
    Solution: use bind_loopback_ipv4 instead

 tests/test_app_meta.cpp      |  3 +--
 tests/test_router_notify.cpp | 10 +++-------
 2 files changed, 4 insertions(+), 9 deletions(-)

commit 454c0b834a8df8511879645adbb1e8d21f5a5a69
Merge: 6d77558 dc91981
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Sun Mar 24 13:18:01 2019 +0100

    Merge pull request #3460 from bluca/borken
    
    Problem: removing header from testutil.hpp breaks unittest build with…

commit dc91981df729d9d76dc5733245250aec4c6368a0
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Mar 24 11:37:41 2019 +0000

    Problem: removing header from testutil.hpp breaks unittest build with gcc8
    
    Solution: include unistd.h in unittest_poller.cpp

 unittests/unittest_poller.cpp | 1 +
 1 file changed, 1 insertion(+)

commit 6d77558c77f5b74ff50d4fb2176a9aab5ce14bf4
Merge: f4b9cc9 c2cd296
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Mar 23 22:40:41 2019 +0000

    Merge pull request #3459 from sigiesec/migrate-testutil
    
    Migrate testutil* to Unity, and build testutil as separate library

commit c2cd2966ab3e127a6bc572e0bf7ad89635c5318a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Mar 23 14:58:47 2019 -0400

    Problem: no documentation of testutil_unity functions
    
    Solution: add documentation

 tests/testutil_unity.hpp | 120 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 120 insertions(+)

commit de622c819825d60c61034a5921e321d941de7068
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Mar 23 14:09:06 2019 -0400

    Problem: functions are unnecessarily declared in header
    
    Solution: remove from header and declare as static

 tests/testutil_monitoring.cpp | 12 ++++++------
 tests/testutil_monitoring.hpp |  7 -------
 tests/testutil_security.cpp   |  6 +++---
 tests/testutil_security.hpp   |  4 ----
 4 files changed, 9 insertions(+), 20 deletions(-)

commit 145083061112fb272aa8cf8098a907d9caaa5ef2
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Mar 23 08:04:57 2019 -0400

    Problem: unused include directives
    
    Solution: remove and add where needed

 src/ip_resolver.hpp                    |  1 +
 tests/CMakeLists.txt                   |  3 +++
 tests/test_abstract_ipc.cpp            |  1 +
 tests/test_app_meta.cpp                |  1 +
 tests/test_connect_rid.cpp             |  2 ++
 tests/test_ctx_options.cpp             |  1 +
 tests/test_dgram.cpp                   |  2 ++
 tests/test_disconnect_inproc.cpp       |  2 ++
 tests/test_filter_ipc.cpp              |  3 +++
 tests/test_fork.cpp                    |  4 ++++
 tests/test_getsockopt_memset.cpp       |  1 +
 tests/test_heartbeats.cpp              |  3 +++
 tests/test_hwm_pubsub.cpp              |  2 ++
 tests/test_iov.cpp                     |  2 ++
 tests/test_metadata.cpp                |  1 +
 tests/test_mock_pub_sub.cpp            |  3 +++
 tests/test_monitor.cpp                 |  3 +++
 tests/test_msg_ffn.cpp                 |  2 ++
 tests/test_pair_tcp.cpp                |  2 ++
 tests/test_poller.cpp                  |  7 +++++++
 tests/test_proxy.cpp                   |  3 +++
 tests/test_proxy_hwm.cpp               |  2 ++
 tests/test_proxy_single_socket.cpp     |  2 ++
 tests/test_proxy_terminate.cpp         |  2 ++
 tests/test_pub_invert_matching.cpp     |  2 ++
 tests/test_radio_dish.cpp              |  9 +++++++++
 tests/test_reqrep_ipc.cpp              |  1 +
 tests/test_reqrep_tcp.cpp              |  2 ++
 tests/test_router_mandatory.cpp        |  1 +
 tests/test_router_notify.cpp           |  1 +
 tests/test_security_gssapi.cpp         |  3 +++
 tests/test_security_null.cpp           |  2 ++
 tests/test_security_plain.cpp          |  3 +++
 tests/test_setsockopt.cpp              |  2 ++
 tests/test_shutdown_stress_tipc.cpp    |  2 ++
 tests/test_spec_pushpull.cpp           |  3 +++
 tests/test_spec_rep.cpp                |  1 +
 tests/test_spec_router.cpp             |  2 ++
 tests/test_srcfd.cpp                   |  1 +
 tests/test_stream.cpp                  |  2 ++
 tests/test_stream_disconnect.cpp       |  2 ++
 tests/test_stream_exceeds_buffer.cpp   |  8 ++++++++
 tests/test_stream_timeout.cpp          |  3 +++
 tests/test_unbind_wildcard.cpp         |  2 ++
 tests/test_use_fd.cpp                  |  4 ++++
 tests/test_zmq_poll_fd.cpp             |  5 +++++
 tests/testutil.cpp                     | 30 ++++++++++++++++++++++++++++++
 tests/testutil.hpp                     | 33 ---------------------------------
 tests/testutil_monitoring.cpp          |  3 +++
 tests/testutil_security.cpp            |  3 +++
 tests/testutil_unity.cpp               |  7 +++++++
 unittests/unittest_ip_resolver.cpp     |  6 ++++++
 unittests/unittest_resolver_common.hpp |  1 +
 53 files changed, 166 insertions(+), 33 deletions(-)

commit d0c4402dafbc898d6aa2e60316abc31c37f73998
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Mar 23 08:03:57 2019 -0400

    Problem: needless use of macros
    
    Solution: convert streq/strneq into functions

 tests/testutil.cpp | 12 ++++++++++++
 tests/testutil.hpp |  4 ++--
 2 files changed, 14 insertions(+), 2 deletions(-)

commit a62e9d35beeee7f15d8a4fa3e64181e2f41a18ad
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Mar 23 07:55:01 2019 -0400

    Problem: internal functions present in header file
    
    Solution: remove declaration and make functions static

 tests/testutil_unity.cpp | 4 ++--
 tests/testutil_unity.hpp | 5 -----
 2 files changed, 2 insertions(+), 7 deletions(-)

commit 5d74eba64a7dbacdd8bb8d5915845c2ac9417d4d
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Mar 23 07:53:38 2019 -0400

    Problem: remaining basic assertions
    
    Solution: use unity assertions instead

 tests/test_ancillaries.cpp             |   2 +-
 tests/test_ctx_destroy.cpp             |   3 +-
 tests/test_filter_ipc.cpp              |   2 +-
 tests/test_fork.cpp                    |   4 +
 tests/test_iov.cpp                     |   8 +-
 tests/test_last_endpoint.cpp           |   8 +-
 tests/test_metadata.cpp                |   4 +-
 tests/test_monitor.cpp                 |   2 +-
 tests/test_pair_tcp_cap_net_admin.cpp  |   5 +-
 tests/test_proxy_hwm.cpp               |   1 +
 tests/test_req_correlate.cpp           |   2 +-
 tests/test_security_null.cpp           |   4 +-
 tests/test_security_plain.cpp          |   9 +-
 tests/testutil.cpp                     | 158 +++++++++++++++------------------
 tests/testutil.hpp                     |   1 -
 tests/testutil_unity.cpp               |   2 +-
 unittests/unittest_ip_resolver.cpp     |   6 +-
 unittests/unittest_resolver_common.hpp |  25 +++---
 18 files changed, 117 insertions(+), 129 deletions(-)

commit 5b40bdb194d6abff01a0d3ea894a5c929286b98a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Mar 23 06:44:18 2019 -0400

    Problem: redundant specific of testutil headers
    
    Solution: remove redundant entries

 Makefile.am | 42 +++++++++++-------------------------------
 1 file changed, 11 insertions(+), 31 deletions(-)

commit 347708bcf25fe834df86daeb7769d7b1a908a5fa
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Mar 23 06:27:12 2019 -0400

    Problem: test utilities are in headers and recompiled for every test
    
    Solution: move test utilities to separate testutil library

 .gitignore                    |   1 +
 Makefile.am                   | 506 ++++++++++++++++++++++--------------------
 tests/CMakeLists.txt          |  42 +++-
 tests/testutil.cpp            | 365 ++++++++++++++++++++++++++++++
 tests/testutil.hpp            | 340 ++--------------------------
 tests/testutil_monitoring.cpp | 346 +++++++++++++++++++++++++++++
 tests/testutil_monitoring.hpp | 306 +------------------------
 tests/testutil_security.cpp   | 398 +++++++++++++++++++++++++++++++++
 tests/testutil_security.hpp   | 350 ++---------------------------
 tests/testutil_unity.cpp      | 302 +++++++++++++++++++++++++
 tests/testutil_unity.hpp      | 264 ++--------------------
 unittests/CMakeLists.txt      |   2 +-
 12 files changed, 1775 insertions(+), 1447 deletions(-)

commit cbd4157638583d8992bd31f61d35e02565b3e481
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 12:25:12 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am                |   3 +-
 tests/test_ctx_options.cpp | 216 ++++++++++++++++++++++++++-------------------
 2 files changed, 127 insertions(+), 92 deletions(-)

commit 9528983d95b6cd20d67173390f4b3d9059d84a60
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 11:34:01 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am                    |   3 +-
 tests/CMakeLists.txt           |   5 +
 tests/test_security_gssapi.cpp | 353 +++++++++++++++++++----------------------
 3 files changed, 174 insertions(+), 187 deletions(-)

commit 90a4d268d9a4f9c55128731d501209d4a0e98a06
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 11:09:08 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am                        |   6 +-
 tests/test_proxy_single_socket.cpp | 111 ++++++++++++++++-------------------
 tests/test_proxy_terminate.cpp     | 116 +++++++++++++++++--------------------
 3 files changed, 108 insertions(+), 125 deletions(-)

commit 6ed03e933340b45c0ee9fb714d5fe34304845f2a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 10:56:48 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am          |   3 +-
 tests/test_proxy.cpp | 324 +++++++++++++++++++++++----------------------------
 2 files changed, 150 insertions(+), 177 deletions(-)

commit 75cd23d6afeb211dca260611d29a6fdc2a8d973c
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 10:25:04 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am         |  3 ++-
 tests/test_fork.cpp | 55 +++++++++++++++++++++++++++++------------------------
 2 files changed, 32 insertions(+), 26 deletions(-)

commit 06e713e9e04c0ba70c5a8d6e166d3bac5c92e0da
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 10:17:10 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am                 |  3 ++-
 tests/test_many_sockets.cpp | 50 +++++++++++++++++++++++++--------------------
 2 files changed, 30 insertions(+), 23 deletions(-)

commit 4ab381436d54a9292279d16632f47eac319abf49
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 10:09:11 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am                       |   3 +-
 tests/test_term_endpoint_tipc.cpp | 114 +++++++++++++++++---------------------
 2 files changed, 52 insertions(+), 65 deletions(-)

commit 6f083df5fb19caf7afe56787b3d90b4054c27a58
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 10:01:04 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am                      |   3 +-
 tests/test_disconnect_inproc.cpp | 123 ++++++++++++++++++---------------------
 2 files changed, 59 insertions(+), 67 deletions(-)

commit 2f40d21618abbf8cd0564585ed1dac5af25337a1
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 09:47:10 2019 -0400

    Problem: access to moved object
    
    Solution: use move target instead

 src/socks.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 740780293a4532bf6c36468204f40d3d4efdef46
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 09:30:09 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am                |  6 ++++--
 tests/test_pair_vmci.cpp   | 44 ++++++++++++++++++++++++--------------------
 tests/test_reqrep_vmci.cpp | 44 ++++++++++++++++++++++++--------------------
 3 files changed, 52 insertions(+), 42 deletions(-)

commit e17232f7257875a6f0918ba5d263abb9645b9725
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 07:19:06 2019 -0400

    Problem: possible use-after-free
    
    Solution: check for failure and do not access any members afterwards

 src/stream_engine.cpp | 25 ++++++++++++++++++-------
 src/stream_engine.hpp |  2 ++
 2 files changed, 20 insertions(+), 7 deletions(-)

commit f083e60d8cd17af0cab8ee46c9064de97de81f92
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 06:52:54 2019 -0400

    Problem: use of extra context
    
    Solution: use test context instead

 tests/test_hwm.cpp | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

commit 924d47f8187152a13eb363324958cfa8bcde8054
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 22 06:48:49 2019 -0400

    Problem: tests without test framework
    
    Solution: migrate to Unity

 Makefile.am                          |  15 +++--
 tests/test_getsockopt_memset.cpp     |  55 ++++++++--------
 tests/test_msg_ffn.cpp               | 118 +++++++++++++++-------------------
 tests/test_msg_flags.cpp             | 121 +++++++++++++++++------------------
 tests/test_router_mandatory_tipc.cpp |  56 ++++++++--------
 tests/test_system.cpp                |  59 +++++++++++------
 6 files changed, 219 insertions(+), 205 deletions(-)

commit f4b9cc994dcc95d699cb1175bd5c484580e17500
Merge: 99e5369 0266d4a
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 20 18:40:25 2019 +0000

    Merge pull request #3457 from sigiesec/migrate-zap-test
    
    Migration of further tests & test utilities to Unity

commit 0266d4ac27b29bc5cb28c22f568dc12391366f8c
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed Mar 20 17:03:26 2019 +0100

    Problem: testutil_monitoring not using unity
    
    Solution: migrate to unity and adapt users

 tests/testutil_monitoring.hpp | 100 ++++++++++++++++++++++++------------------
 tests/testutil_security.hpp   |  41 ++++++++---------
 2 files changed, 78 insertions(+), 63 deletions(-)

commit f46a96926cf2011c57068242be551a0076ffebb2
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed Mar 20 16:49:04 2019 +0100

    Problem: test_security_curve uses custom assertion macro
    
    Solution: use standard TEST_ASSERT_SUCCESS_ERRNO macro instead

 tests/test_security_curve.cpp | 43 ++++++++++++++-----------------------------
 1 file changed, 14 insertions(+), 29 deletions(-)

commit efaca82bff4ee4fee3f961f9906815e42e096bae
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed Mar 20 16:03:06 2019 +0100

    Problem: testutil_security not using unity
    
    Solution: migrate to unity and adapt users

 tests/test_security_curve.cpp |  69 +++++------
 tests/test_security_zap.cpp   | 136 ++++++++++------------
 tests/testutil_security.hpp   | 260 ++++++++++++++++--------------------------
 3 files changed, 194 insertions(+), 271 deletions(-)

commit 6e0724609a2275ce31a9b65cc8211dd7c7f0be1d
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed Mar 20 13:34:21 2019 +0100

    Problem: errno not output on test failure
    
    Solution: use appropriate test assertion macro

 unittests/unittest_ip_resolver.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 669fc4df5a56bf7cf36f6c6212bcb7707ef20c16
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed Mar 20 12:34:47 2019 +0100

    Problem: test_security_zap not using a test framework
    
    Solution: migrate to unity

 Makefile.am                 |   3 +-
 tests/test_security_zap.cpp | 348 ++++++++++++++++++++++++++++++--------------
 2 files changed, 244 insertions(+), 107 deletions(-)

commit 99e53698c5a40bc4c67bae00352f787224285ce3
Merge: 168aa83 98875a9
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Tue Mar 19 17:57:09 2019 +0100

    Merge pull request #3456 from bluca/test_fd_port
    
    Problem: TCP and UDP test sockets use hard-coded port

commit 168aa83d089425d4be5a34911c37c6f58eed2b9b
Merge: 645df4e 1f656fd
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 18 23:29:06 2019 +0000

    Merge pull request #3453 from panlinux/validate-group-before-using-1462
    
    Validate group before using it

commit 98875a9ddc3f0e597b0c170bbc1b2083027569f4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 18 23:27:01 2019 +0000

    Problem: TCP and UDP test sockets use hard-coded port
    
    Solution: move ephemeral port code to header and use it in both
    tests

 tests/test_stream_exceeds_buffer.cpp | 26 +-------------------------
 tests/test_zmq_poll_fd.cpp           | 21 +++------------------
 tests/testutil.hpp                   | 29 +++++++++++++++++++++++++++++
 3 files changed, 33 insertions(+), 43 deletions(-)

commit 830b3428ec4fcf2bbef28d907085804721710cf4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 18 23:26:27 2019 +0000

    Problem: new test binary not ignored
    
    Solution: add it to .gitignore

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

commit 1f656fd19d86037ec8a9d84bc3ac9a715e637d7b
Author: Andreas Hasenack <andreas@canonical.com>
Date:   Mon Mar 18 10:54:50 2019 -0300

    Problem: no relicense agreement by panlinux
    
    Solution: added relicense agreement

 RELICENSE/panlinux.md | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit d81f3ec21ce46e6e0423002e3fbf83619f6bc8d3
Author: Andreas Hasenack <andreas@canonical.com>
Date:   Fri Mar 15 21:48:18 2019 -0300

    Problem: test_filter_with_supplemental_process_owner_gid fails
    
    Solution: only set supgroup to a valid gid

 tests/test_filter_ipc.cpp | 6 ++++--
 tests/testutil.hpp        | 2 ++
 2 files changed, 6 insertions(+), 2 deletions(-)

commit 645df4e602c3b6547c117161401fbb24fc8efee0
Merge: 17c47da 8759d20
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 18 12:54:52 2019 +0000

    Merge pull request #3449 from sigiesec/migrate-security-tests
    
    Migrate security tests for NULL and PLAIN mechanisms to Unity

commit 17c47da01c7e23486b1a07692d99a23d70fd0164
Merge: c1d2e71 b26542b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 18 12:09:38 2019 +0000

    Merge pull request #3452 from jacquesg/strnlen
    
    Problem: strnlen may not be available

commit b26542bbfc7bf6966f8a98dac6f97a4c2ea6fe42
Author: Jacques Germishuys <jacques.germishuys@gmail.com>
Date:   Mon Mar 18 10:27:45 2019 +0000

    Problem: strnlen may not be available
    
    Solution: Provide an implementation

 CMakeLists.txt               |  4 ++++
 builds/cmake/platform.hpp.in |  1 +
 configure.ac                 |  2 +-
 src/ipc_address.cpp          | 12 ++++++++++++
 4 files changed, 18 insertions(+), 1 deletion(-)

commit c1d2e7186149a3f380d8d924fcf28cd3ed0b669c
Merge: bd6fa4b 04f5ae2
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Mon Mar 18 11:47:52 2019 +0100

    Merge pull request #3451 from jacquesg/devpoll
    
    Restore /dev/poll support

commit 04f5ae20af571b31104645b146cb97ffecdecfba
Author: Jacques Germishuys <jacques.germishuys@gmail.com>
Date:   Mon Mar 18 10:43:11 2019 +0000

    Problem: Solaris 10 had unknown, active users
    
    Solution: Add Solaris 10 to the list

 README.md | 1 +
 1 file changed, 1 insertion(+)

commit 8759d20d4bc5f9057eb9fd8989a0a2e27af44daf
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 17 13:18:13 2019 +0100

    Problem: tests link to two different flavours of the runtime library,
    causing heap corruption
    
    Solution: remove extra runtime library settings, re-enable failing tests
    on appveyor

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

commit ae1bc03e9ea76b58becc31d21e029cbba1d85920
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Mar 17 13:07:16 2019 +0100

    Problem: artifacts published on appveyor are missing pdb files
    
    Solution: add them

 appveyor.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 8a2296711d28b09313fcdf950b1c04a9b8faa75c
Author: Jacques Germishuys <jacques.germishuys@gmail.com>
Date:   Mon Mar 18 10:16:13 2019 +0000

    Problem: epoll_t no longer requires _worker
    
    Solution: Remove _worker

 src/epoll.hpp | 3 ---
 1 file changed, 3 deletions(-)

commit 212ab4f834e2684feec39b6fe5ea263145c15a17
Author: Jacques Germishuys <jacques.germishuys@gmail.com>
Date:   Mon Mar 18 10:12:38 2019 +0000

    Problem: /dev/poll doesn't compile
    
    Solution: Make devpoll_t derive from worker_poller_base_t

 src/devpoll.cpp | 35 ++++++++++++++++++++---------------
 src/devpoll.hpp | 15 +--------------
 2 files changed, 21 insertions(+), 29 deletions(-)

commit 36a16ec7d1ce0f66c88bc8955daecb771ec918c9
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Sat Mar 16 17:51:25 2019 +0100

    Problem: test_security_plain not using a test framework
    
    Solution: migrate to Unity

 Makefile.am                   |   3 +-
 tests/test_security_plain.cpp | 224 +++++++++++++++++++++++-------------------
 2 files changed, 126 insertions(+), 101 deletions(-)

commit 223ef516b62d32b5df76e4c729899a98ddd6bb7f
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Sat Mar 16 17:20:19 2019 +0100

    Problem: test_security_null not using a test framework
    
    Solution: migrate to Unity and separate test_security_no_zap_handler

 Makefile.am                            |  10 +-
 tests/CMakeLists.txt                   |   1 +
 tests/test_security_no_zap_handler.cpp |  90 +++++++++++++++
 tests/test_security_null.cpp           | 201 ++++++++++++++-------------------
 4 files changed, 181 insertions(+), 121 deletions(-)

commit bd6fa4bbb3ec775d6ff9df0e1bb3174254daffa4
Merge: 1198a8e f4f2ebf
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed Mar 13 11:19:00 2019 +0100

    Merge pull request #3445 from bluca/relicense_hp
    
    Update HPE statement as requested by the grantor

commit f4f2ebfe95a1d3576b1b975aee873ad096a06105
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 13 10:07:48 2019 +0000

    Update HPE statement as requested by the grantor

 RELICENSE/hewlett_packard_enterprise.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 1198a8ec9180f3907702532ec1f27cb0c5549ce3
Merge: 1e9a8c9 84e9a1a
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Mar 12 14:16:22 2019 +0100

    Merge pull request #3444 from bluca/relicense_hp
    
    Relicensing grant from HPE

commit 84e9a1a022fcf9ef18ddd2cf74a0d340e63b51b8
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Mar 12 12:24:04 2019 +0000

    Relicensing grant from HPE
    
    Received via email on 2019/03/12, message-id:
    
    TU4PR8401MB1277B86B48464DC63AEDCA2D96490@TU4PR8401MB1277.NAMPRD84.PROD.OUTLOOK.COM

 RELICENSE/hewlett_packard_enterprise.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 1e9a8c97ea63e4c1217870d4101da2fc8c2fe6d4
Merge: 2f5c2f4 0bbd38f
Author: Doron Somech <somdoron@gmail.com>
Date:   Fri Mar 8 21:16:17 2019 +0200

    Merge pull request #3441 from bluca/test_xpub_nodrop_flaky
    
    Problem: text_xpub_nodrop sometimes fails

commit 0bbd38f5d48a1a829fc0ade8a37764d227846a3e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 8 18:19:35 2019 +0000

    Problem: text_xpub_nodrop sometimes fails
    
    Solution: use XPUB and wait for the subscription message rather than
    using a sleep which might or might not be enough

 tests/test_xpub_nodrop.cpp | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

commit 2f5c2f4a48fcdcbab287591ae2084a7865fceb2b
Merge: 2e64648 d41ed61
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 8 15:17:31 2019 +0000

    Merge pull request #3440 from emtr/proxy-performance-fix
    
    Proxy performance fix

commit d41ed6180b05790219d4a37a0bddb37c8f8e15f7
Author: Claudio Biagi <retmt@gmx.com>
Date:   Thu Mar 7 14:49:25 2019 +0100

    Proxy performance fix, ticket #3439
    
    Improve performance of the proxy forwarding batch of message.
    Add throughput benchmark for proxy.
    Fix valgrind error reported on unitialized vars
    RELICENSE: Add emtr grant

 .gitignore           |   1 +
 CMakeLists.txt       |   3 +-
 Makefile.am          |   6 +-
 RELICENSE/emtr.md    |  15 ++
 perf/proxy_thr.cpp   | 401 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/config.hpp       |   5 +
 src/proxy.cpp        |  63 ++++----
 tests/test_proxy.cpp |  10 +-
 8 files changed, 471 insertions(+), 33 deletions(-)

commit 2e6464864ec3460580f9e7f3c73ecbf4273e55ff
Merge: 995e0a3 028aecc
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat Mar 2 04:14:46 2019 +0200

    Merge pull request #3438 from sigiesec/fix-appveyor-test-execution
    
    Fix appveyor test execution

commit 028aecc6d9fe624159c5b0beed83d975bf08efbb
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 1 14:19:52 2019 -0500

    Problem: appveyor build always fails
    
    Solution: temporarily skip failing test cases

 appveyor.yml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 73159a8fab05b4ef39e075d2508baf1c611043a5
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 1 16:57:29 2019 -0500

    Problem: race condition in test_hwm
    
    Solution: wait a bit to allow connect to succeed if inproc bind preceded connect

 tests/test_hwm.cpp | 4 ++++
 1 file changed, 4 insertions(+)

commit 14fd7505bc51cfa220199bccc023b9efdeb235d1
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 1 06:20:26 2019 -0500

    Problem: race condition in test_xpub_nodrop
    
    Solution: try to avoid race condition by increasing timeout from 0 to 250ms

 tests/test_xpub_nodrop.cpp | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit 56c94757ffb70a7b3eea72d5721f9432c6e50dee
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 1 06:43:22 2019 -0500

    Problem: analysis build failing due to warnings-as-errors
    
    Solution: enable warnings-as-errors only on non-analysis builds

 appveyor.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit a95c4ab404f1690590edaa1ceb20a8335afc78c2
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 1 06:30:44 2019 -0500

    Problem: test_decrease_when_full is disabled for Windows
    
    Solution: add sleep after connecting such that sending is not started before connection succeeded

 tests/test_sockopt_hwm.cpp | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

commit 828ed69d63b567cbf06ae9a105d2fd4c7c8114c4
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 1 05:51:45 2019 -0500

    Problem: test_decrease_when_full test case in test_sockopt_hwm does not run reliably under Windows
    
    Solution: disable test case for the moment and mark it as FIXME

 tests/test_sockopt_hwm.cpp | 5 +++++
 1 file changed, 5 insertions(+)

commit 36d265ee7d0994570243796f7c1b932edc56cc92
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 1 05:24:40 2019 -0500

    Problem: redundant parentheses in return statements
    
    Solution: remove them

 builds/cmake/Modules/ZMQSourceRunChecks.cmake | 2 +-
 src/norm_engine.hpp                           | 4 ++--
 src/pipe.cpp                                  | 2 +-
 src/select.cpp                                | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

commit 0c363fbb76ecb197a9d88e8d94bf840f2d58ed4a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 1 05:24:05 2019 -0500

    Problem: argument is unnecessarily copied
    
    Solution: move instead

 src/pipe.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 995e0a3a2642ac6a1be132ed8d531a4ad4c51024
Merge: 4606150 d61d662
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Feb 27 14:41:41 2019 +0000

    Merge pull request #3436 from sigiesec/fix-reconnect-ivl-calculation
    
    Problem: reconnect interval exponential backoff and may lead to integ…

commit d61d662ecb0eebd0e8e15b1373b2fc774295ae8a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Feb 27 07:31:34 2019 -0500

    Problem: reconnect interval exponential backoff and may lead to integer overflows
    
    Solution: guard calculation against integer overflows

 src/stream_connecter_base.cpp | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

commit 46061508bf32c367905cc08dd3ba8bfefca334f7
Merge: 54bf9c6 12238f6
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 25 16:50:40 2019 +0000

    Merge pull request #3435 from trevorbernard/relicense
    
    Issue #2376 - Add Trevor Bernard's permission to relicense

commit 12238f6bb156cac06e49e2abecb068466f57c968
Author: Trevor Bernard <trevor.bernard@gmail.com>
Date:   Mon Feb 25 11:21:31 2019 -0500

    Issue #2376 - Add Trevor Bernard's permission to relicense

 RELICENSE/trevorbernard.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 54bf9c6a590ecdf30cdf92c5e37027690ce5760a
Merge: d54b524 23de068
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 25 16:01:41 2019 +0000

    Merge pull request #3434 from brc859844/master
    
    RELICENSE: Brett Cameron

commit 23de068fe4b11785a23d06dafb0b4c597fa2fe7f
Author: cameronbn <Brett.Cameron@hp.com>
Date:   Mon Feb 25 16:12:32 2019 +0100

    RELICENSE: Brett Cameron

 RELICENSE/brett-cameron.md | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

commit d54b524976c13f0b4c7bcac2e8aa79484b7f4e92
Merge: 35aaa54 cc8b119
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 25 11:16:11 2019 +0000

    Merge pull request #3433 from rlenferink/relicense-info-michelet
    
    RELICENSE: Corrected info for leonarf

commit cc8b119c6979538becff5b0886fdf31e74ea8550
Author: Roy Lenferink <lenferinkroy@gmail.com>
Date:   Mon Feb 25 12:14:04 2019 +0100

    RELICENSE: Corrected info for leonarf

 RELICENSE/leonarf.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 35aaa5425f69b0ee00af0bf26a5b0d88c276d286
Merge: 534ac7e 6f66b5a
Author: Doron Somech <somdoron@gmail.com>
Date:   Sun Feb 24 14:37:26 2019 +0200

    Merge pull request #3432 from rlenferink/relicense-shancat
    
    Adding grant from shancat

commit 6f66b5a6766a6db9ede5b9066cc863079be79eab
Author: Roy Lenferink <lenferinkroy@gmail.com>
Date:   Sun Feb 24 13:25:53 2019 +0100

    Adding grant from shancat

 RELICENSE/shancat.md | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 534ac7ef0d3871c5eb59a9e444fe73dc6bede324
Merge: 831ac95 bab50fe
Author: Doron Somech <somdoron@gmail.com>
Date:   Sun Feb 24 04:25:48 2019 +0200

    Merge pull request #3431 from steve-o/master
    
    Relicense: steve-o

commit bab50feb500e8ecdf9db540125d2af7404849b88
Author: Steven McCoy <fnjordy@gmail.com>
Date:   Sun Feb 24 10:04:14 2019 +0800

    Add GitHub authors.

 RELICENSE/steve-o.md | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 24d5bcfe4d696a8c65eda2ce6c19f10aac84a48c
Author: Steven McCoy <fnjordy@gmail.com>
Date:   Sun Feb 24 09:53:58 2019 +0800

    Relicense permission for work by steve-o.

 RELICENSE/steve-o.md | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 831ac95fd90f31ca125146c42e8fdca9360e4d93
Merge: f8bcdaf 8259c51
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Feb 23 10:52:22 2019 +0100

    Merge pull request #3428 from Eelis/mallocfail
    
    Don't crash if memory allocation in socket_poller_t::rebuild fails.

commit f8bcdaf1230f931e3ebccc7781122f730db50fe3
Merge: 5ac7df1 fea02c1
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Feb 23 10:47:45 2019 +0100

    Merge pull request #3430 from rlenferink/rl-rename
    
    Renamed RELICENSE to use GitHub username

commit fea02c1071ec47d95881da0bac50c23eb34d4fb1
Author: Roy Lenferink <lenferinkroy@gmail.com>
Date:   Sat Feb 23 10:13:47 2019 +0100

    Renamed RELICENSE to use GitHub username

 RELICENSE/{mlloyd.md => CommanderBubble.md} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

commit 5ac7df1d2397d6386d9ee5c256cefc8024fb2c9b
Merge: d814f37 d301f99
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat Feb 23 11:04:15 2019 +0200

    Merge pull request #3429 from CommanderBubble/master
    
    Relicense

commit 8259c519b32c4be7d1a215c6dcaf164dc868bbde
Author: Eelis van der Weegen <eelis@eelis.net>
Date:   Sat Feb 23 01:35:30 2019 +0100

    Problem: Program crashes if memory allocation in socket_poller_t::rebuild fails.
    
    Solution: Report memory allocation failure as ENOMEM so applications can handle it gracefully.
    
    Fixes #3427.

 doc/zmq_poller.txt    |  2 ++
 src/socket_poller.cpp | 20 +++++++++++++++-----
 src/socket_poller.hpp |  2 +-
 3 files changed, 18 insertions(+), 6 deletions(-)

commit d301f995ad45f7caf5144172db945c3ab5d0b365
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Sat Feb 23 18:55:04 2019 +1100

    Create mlloyd.md
    
    relicense

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

commit 2acd7391ae255e31b84e67ba6a69757f524fcfba
Merge: bfc42d4 d814f37
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Sat Feb 23 18:47:42 2019 +1100

    Merge pull request #5 from zeromq/master
    
    update pre license

commit d814f370672afa2e06eba34d3e7ba1723a897b96
Merge: cdc4b8c f09d529
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Fri Feb 22 20:42:40 2019 +0100

    Merge pull request #3426 from Eelis/pollerdoc
    
    Document that zmq_poller_new can return NULL.

commit f09d5295c6cc94c5bb81213f437f1cfb70fa046b
Author: Eelis van der Weegen <eelis@eelis.net>
Date:   Fri Feb 22 20:05:52 2019 +0100

    RELICENSE: Grant from Eelis.

 RELICENSE/Eelis.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit f1d6811dd7902a0c2b2ddd4b52c906cdea4395d8
Author: Eelis van der Weegen <eelis@eelis.net>
Date:   Fri Feb 22 19:57:49 2019 +0100

    Problem: The documentation for zmq_poller_new incorrectly states that it cannot fail.
    
    Solution: Revise the offending wording, adding a remark that zmq_poller_new will return NULL in case of failure.
    
    Fixes #3425.

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

commit cdc4b8c6c6e6925a95a1bfcb0e9ea38d41182927
Merge: 3d55131 3b3fbe0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Feb 21 22:14:11 2019 +0000

    Merge pull request #3423 from vortechs2000/relicense
    
    Add relicense grant

commit 3b3fbe02049ffd9bbe5c3901fb032ba9957cc690
Author: AJ Lewis <aj.lewis@quantum.com>
Date:   Thu Feb 21 15:14:45 2019 -0600

    Add relicense grant
    
    Add Quantum's relicense grant for my work on libzmq

 RELICENSE/vortechs2000.md | 13 +++++++++++++
 1 file changed, 13 insertions(+)

commit 3d55131eba600f8b98656928d3934d597e663fee
Merge: f21bae5 c05d010
Author: Doron Somech <somdoron@gmail.com>
Date:   Wed Feb 20 16:58:57 2019 +0200

    Merge pull request #3422 from sigiesec/fix-zmq-proxy-docs
    
    Problem: zmq_proxy signature in documentation does not match actual s…

commit c05d010c01d8596e9b72becf597191d61088d0d5
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed Feb 20 15:38:52 2019 +0100

    Problem: zmq_proxy signature in documentation does not match actual signature
    
    Solution: remove extra const

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

commit f21bae529e7e62ab51c97375681db89de055c3ed
Merge: e2af39b 598b5d4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Feb 20 14:27:50 2019 +0000

    Merge pull request #3421 from sigiesec/document-supported-platforms
    
    Problem: no documentation of supported platforms

commit 598b5d4dcbce8074de54798ad4bbe400f63d217e
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Tue Feb 19 21:31:30 2019 +0100

    Problem: no documentation of supported platforms
    
    Solution: add an initial version

 README.md             | 93 +++++++++++++++++++++++++++++++++++++++++++++++++--
 SupportedPlatforms.md | 32 ++++++++++++++++++
 2 files changed, 122 insertions(+), 3 deletions(-)

commit e2af39bc42d0ba68b6479772a4c7a630488b729b
Merge: 3e79d55 d63dcaf
Author: Doron Somech <somdoron@gmail.com>
Date:   Tue Feb 19 20:31:33 2019 +0200

    Merge pull request #3420 from mgatny/master
    
    Problem: missing relicensing statement from mgatny

commit d63dcaf23828baf59414512731be74d1d3ca5e46
Author: Mike Gatny <mgatny@gmail.com>
Date:   Tue Feb 19 13:23:37 2019 -0500

    Problem: missing relicensing statement from mgatny
    
    Solution: add it

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

commit 3e79d55271347e940ededa02d123f5aabb8b10b9
Merge: fed6cc5 cfd91f0
Author: Doron Somech <somdoron@gmail.com>
Date:   Tue Feb 19 19:39:29 2019 +0200

    Merge pull request #3419 from rlenferink/rl-rename
    
    RELICENSE: Renamed license grants to use GitHub username

commit cfd91f0602d4f9f3b7b6249e275a7da5ca96ed6c
Author: Roy Lenferink <lenferinkroy@gmail.com>
Date:   Tue Feb 19 18:34:06 2019 +0100

    Renamed license grants to use GitHub username
    
    Updated the license grants to the GitHub username of the contributor where possible. Corrected the content of some files as well.

 RELICENSE/{LeonardoConsoni.md => AnCaPepe.md}         |  2 +-
 RELICENSE/{SebastienRombauts.md => SRombauts.md}      |  0
 RELICENSE/{TimotheeBesset.md => TTimo.md}             |  0
 RELICENSE/WenbinHou.md                                |  2 +-
 RELICENSE/{HaraldAchitz.md => a4z.md}                 |  0
 RELICENSE/abbradar.md                                 |  3 +--
 RELICENSE/amuraru.md                                  |  2 +-
 RELICENSE/{JimHague.md => banburybill.md}             |  0
 RELICENSE/{brunobodin.md => bbdb68.md}                |  0
 RELICENSE/{bjorntopel.md => bjoto.md}                 |  0
 RELICENSE/{BerndPrager.md => bprager.md}              |  0
 RELICENSE/{jeffbrubaker.md => brubakerjeff.md}        | 12 +++++++-----
 RELICENSE/{BrianBuchanan.md => bwbuchanan.md}         |  0
 RELICENSE/{LionelOrry.md => chickenkiller.md}         |  2 +-
 RELICENSE/{ChuckRemes.md => chuckremes.md}            |  0
 RELICENSE/{chugga_fan.md => chuggafan.md}             |  4 ++--
 RELICENSE/{GiuseppeCorbelli.md => cowo78.md}          |  0
 RELICENSE/{torehalvorsen.md => demozon.md}            |  0
 RELICENSE/{VolodymyrKorniichuk.md => ezhikus.md}      |  0
 RELICENSE/{FrancescoMontorsi.md => f18m.md}           |  0
 RELICENSE/{FabriceFontaine.md => ffontaine.md}        |  0
 RELICENSE/{GavinMcNiff.md => gavinmcniff.md}          |  0
 RELICENSE/{GhislainPutois.md => ghpu.md}              |  0
 RELICENSE/{michael-fox.md => gitfoxi.md}              |  0
 RELICENSE/{goodfella_ltd.md => goodfella.md}          |  0
 RELICENSE/hgourvest.md                                |  9 ++++++---
 RELICENSE/{jcourreges.txt => jcourreges.md}           |  0
 RELICENSE/{LeonardMichelet => leonarf.md}             |  2 +-
 RELICENSE/lodagro.md                                  |  3 +--
 RELICENSE/mkoppanen.md                                |  3 +--
 RELICENSE/{ByronMallett.md => mystfit.md}             |  0
 RELICENSE/{OsirisPedroso.md => opedroso.md}           |  0
 RELICENSE/{Kymetacorp.md => opensource-kymetacorp.md} |  0
 RELICENSE/{RobGagnon.md => rgagnon24.md}              |  0
 RELICENSE/{kevinsapper.md => sappo.md}                |  0
 RELICENSE/{ChristophSchulz.md => schulzch.md}         |  2 +-
 RELICENSE/{StoianIvanov.md => sdrsdr.md}              |  7 +++----
 RELICENSE/{sabae.md => staticfloat.md}                |  0
 RELICENSE/{VincentTellier.md => vtellier.md}          |  0
 RELICENSE/vyskocilm.md                                |  2 +-
 RELICENSE/{BillTorpey.md => wallstprog.md}            |  0
 41 files changed, 28 insertions(+), 27 deletions(-)

commit fed6cc5669fcbb761fb43cdd3865488946798e54
Merge: 9e41dcf 5b62116
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Feb 19 13:20:36 2019 +0000

    Merge pull request #3418 from rlenferink/rl-extension
    
    RELICENSE: Converted pnnl to markdown

commit 5b621164edabbda800da96ece2ff21988eaf4f4c
Author: Roy Lenferink <lenferinkroy@gmail.com>
Date:   Tue Feb 19 13:59:55 2019 +0100

    Converted to markdown

 RELICENSE/{pnnl => pnnl.md} | 3 +++
 1 file changed, 3 insertions(+)

commit 9e41dcf0779bdc3de6ab9493aa2a8edf74cb757e
Merge: b3a62b7 fba6098
Author: Doron Somech <somdoron@gmail.com>
Date:   Tue Feb 19 13:53:08 2019 +0200

    Merge pull request #3417 from rlenferink/rl-ricnewton
    
    RELICENSE: Received grant from Micromass UK Limited

commit fba60985e0287741f829ca1678c7367d0cabd27c
Author: Roy Lenferink <lenferinkroy@gmail.com>
Date:   Tue Feb 19 12:48:29 2019 +0100

    Received grant from Micromass UK Limited

 RELICENSE/micromass-ricnewton.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit b3a62b78672243e0455cae1ee70438299075ee10
Merge: 66c9bd8 956c724
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 18 20:11:33 2019 +0000

    Merge pull request #3416 from pmienk/master
    
    RELICENCE: Phillip Mienk grant

commit 956c7243028625fa60062ef07dcc28aa70b62993
Author: Phillip Mienk <mienkphi@gmail.com>
Date:   Mon Feb 18 12:01:53 2019 -0800

    RELICENCE: Phillip Mienk grant

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

commit 66c9bd8020b8da3d81196d8c0281fda41d15df34
Merge: 39541f0 c189c97
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Mon Feb 18 20:17:35 2019 +0100

    Merge pull request #3415 from bluca/relicense_npl
    
    Problem: no relicense grant from PNNL

commit c189c973c2869abea485e203c690fe5012d09b88
Author: Luca Boccassi <bluca@debian.org>
Date:   Mon Feb 18 19:15:28 2019 +0000

    Problem: no relicense grant from PNNL
    
    Solution: add the one received by email
    
    B671D81EAD34104986FFE7881B8036371ABEF4AF@EX10MBOX02.pnnl.gov

 RELICENSE/pnnl | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 39541f0306ac1a07ec6914503d2595772df9d228
Merge: 9e8aef0 ca9eca0
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Mon Feb 18 19:35:04 2019 +0100

    Merge pull request #3414 from bluca/relicense_tim
    
    Problem: missing relicense statement from Prarrot

commit ca9eca058b8f6ec905b840b229364f4942a2d443
Author: Luca Boccassi <bluca@debian.org>
Date:   Mon Feb 18 18:23:13 2019 +0000

    Problem: missing relicense statement from Prarrot
    
    Solution: add the one received by email
    
    Message-ID: <CAHPFjttticWbCuZ93r55gGRDBMxAgNn==4r70op4LnQNEJM23Q@mail.gmail.com>

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

commit 9e8aef0b665ec8d6a9cc3411a57d17ab0aa613b1
Merge: c39e7a8 380b852
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 18 09:08:20 2019 +0000

    Merge pull request #3413 from somdoron/master
    
    Problem: missing relicensing statement from somdoron

commit 380b8525613aef054894d2b294f596d252c603cc
Author: somdoron <somdoron@gmail.com>
Date:   Mon Feb 18 10:33:13 2019 +0200

    Problem: missing relicensing statement from somdoron
    
    Solution: add it

 RELICENSE/somdoron.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit c39e7a8818984c5fdd9f5aff36422d2c66ef9924
Merge: be20089 1dd9ac9
Author: Doron Somech <somdoron@gmail.com>
Date:   Mon Feb 18 08:45:25 2019 +0200

    Merge pull request #3412 from calid/relicense-calid
    
    Relicense: Dylan Cali

commit 1dd9ac95485ac0b95a8441460612880d3279f4a1
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Feb 17 19:13:18 2019 -0500

    Relicense: Dylan Cali
    
    Ref: #2376

 RELICENSE/calid.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit be200896756df1273289abb0e5f5a2d86ead92b4
Merge: 484374f f83b13b
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Sun Feb 17 22:39:06 2019 +0100

    Merge pull request #3411 from bluca/fix_threads
    
    Problem: non-linux build broken by last PR

commit f83b13b2d6e364d2da0b12c09879e0042c290dd5
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Feb 17 19:27:50 2019 +0000

    Problem: build fails on VS2010 as it does not have snprintf
    
    Solution: ifdef it

 src/ctx.cpp       | 6 +++++-
 src/io_thread.cpp | 4 +++-
 2 files changed, 8 insertions(+), 2 deletions(-)

commit c63b0955e52ab1268f5868ff168cf630c02cec81
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Feb 17 19:06:03 2019 +0000

    Problem: zmq_threadstart name not distinguished
    
    Solution: name it ZMQapp instead of ZMQbg, as it's created by the
    application

 src/thread.hpp    | 2 +-
 src/zmq_utils.cpp | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit c8d039a3c769a14e39c0216355384b5204bf1a51
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Feb 17 19:01:10 2019 +0000

    Problem: unused variable warning in thread_start on !Linux
    
    Solution: use LIBZMQ_UNUSED

 src/thread.cpp | 2 ++
 1 file changed, 2 insertions(+)

commit f7ca7515d7dbb2de3746f8be74a6769cca216ecb
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Feb 17 18:59:06 2019 +0000

    Problem: new thread parameter not initialised in ctor
    
    Solution: do it and remove ifndef windows

 src/thread.hpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit d02561eec0e4ca12718b135d93443e01a1faede9
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Feb 17 19:20:52 2019 +0000

    Problem: IO thread name starts counting at 1
    
    Solution: start at 0

 src/io_thread.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 563396445a82386ba19f14d4561f1ba15732e7c8
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Feb 17 18:56:20 2019 +0000

    Problem: IO thread name uses space separator, the rest uses /
    
    Solution: use / like the rest of the names

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

commit de76789ac695efdfee3ef85eea332471efa1790a
Author: Luca Boccassi <bluca@debian.org>
Date:   Sun Feb 17 18:55:24 2019 +0000

    Problem: new thread naming breaks build on !Linux and overwrites prefix
    
    Solution: use the thread class function rather than one of the pthread
    functions, and take into account the thread prefix context option

 src/ctx.cpp    | 18 +++++-------------
 src/thread.cpp | 13 +++++++++----
 2 files changed, 14 insertions(+), 17 deletions(-)

commit 484374f2b64db2c461101edfe1106a97732aa96f
Author: Kymeta Corp <opensource@kymetacorp.com>
Date:   Tue Jan 29 12:07:33 2019 +0200

    Problem: Threads don't have names which complicates debugging.
    Solution:
    1. Use optional name parameter in thread_t::start for operating
    systems that have thread names.
    2. Give start_thread() an optional name parameter for the
    thread's name. If this parameter is set, it will be appended to "0MQ:".
    If not set, "0MQ" will be used as the thread's name.
    3. Give epoll the ability to name its thread. Then use this in
    io_thread and reaper to name them.

 src/ctx.cpp         | 9 +++++++--
 src/ctx.hpp         | 5 ++++-
 src/io_thread.cpp   | 4 +++-
 src/poller_base.cpp | 4 ++--
 src/poller_base.hpp | 2 +-
 src/reaper.cpp      | 2 +-
 src/thread.cpp      | 8 +++++---
 src/thread.hpp      | 6 +++++-
 8 files changed, 28 insertions(+), 12 deletions(-)

commit c47b2af90a524792292b64b7d91d772aa3cbefba
Author: Kymeta Corp <opensource@kymetacorp.com>
Date:   Tue Jan 29 12:06:53 2019 +0200

    Problem: no relicense agreement by Kymeta Corporation
    Solution: add relicense agreement

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

commit 907bce52e06466664319902adf6026ff12242dca
Merge: 639ed00 465109d
Author: Doron Somech <somdoron@gmail.com>
Date:   Sun Feb 17 21:46:28 2019 +0200

    Merge pull request #3410 from Quuxplusone/license
    
    RELICENSE: Arthur O'Dwyer grant

commit 465109d0ca9d0b8aaa0fbc02b8d5f602d85b1d45
Author: Arthur O'Dwyer <arthur@push.am>
Date:   Sun Feb 17 14:45:06 2019 -0500

    RELICENSE: Arthur O'Dwyer grant

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

commit 639ed00d9ab085b7e7d3bd5ef6f8d1043a14d722
Merge: 96cd7cf 9634ab1
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Feb 17 19:14:03 2019 +0000

    Merge pull request #3409 from mkoppanen/relicense/mkoppanen
    
    Add permission to relicense

commit 9634ab182f851de5c29292f8ba55c7baae796815
Author: Mikko Koppanen <mikko.koppanen@alltimetech.co.uk>
Date:   Sun Feb 17 17:49:08 2019 +0000

    Add permission to relicense

 RELICENSE/mkoppanen.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 96cd7cf2c3890be84fb4f39faa44d8b529f2cacb
Merge: 8ef72d4 16a4153
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Sun Feb 17 16:32:51 2019 +0100

    Merge pull request #3408 from bluca/relicense
    
    Problem: missing relicensing statement from bluca

commit 16a415384953fbfb76c4e03853483afa557e9a9a
Author: Luca Boccassi <bluca@debian.org>
Date:   Sat Feb 16 17:18:41 2019 +0000

    Problem: missing relicensing statement from bluca
    
    Solution: add it - I realised only now that I only submitted a
    statement for the copyright owned by a previous employer, and not
    my own.

 RELICENSE/bluca.md | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 8ef72d482e20a6834a6fe188d549e80ccbf7fa8b
Author: Shubham Lagwankar <shubhu105@gmail.com>
Date:   Wed Feb 13 13:47:39 2019 -0500

    Problem: trie benchmarks count loop times instead of lookup calls (#3406)
    
    * Problem: trie benchmarks count loop times instead of lookup calls
    
    Solution: measure the time taken by each lookup call instead
    
    Other changes:
    - show average time taken and reduce other output
    - show number of keys, queries and key size before running the benchmark
    - use steady_clock as high_resolution_clock might not be steady
    - increase size of query set to 1M

 perf/benchmark_radix_tree.cpp | 33 +++++++++++++++++++++------------
 1 file changed, 21 insertions(+), 12 deletions(-)

commit 6937447832a786c89f1d3af6be072be5519b3459
Merge: 119a258 7fbd977
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Feb 12 11:09:15 2019 +0000

    Merge pull request #3405 from sigiesec/use-std-condition-variable-any
    
    Use std::condition_variable_any, move configuration to build files

commit 7fbd97718457adeaabe904dfea38a2b18d445165
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon Feb 11 11:23:48 2019 -0500

    Problem: assertion triggered in stream_connecter_base::close
    
    Solution: change into regular control flow condition

 src/stream_connecter_base.cpp | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

commit 2759f459dfb7eca9f7b7ead296fe0da2d3e97ca6
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon Feb 11 09:30:37 2019 -0500

    Problem: C4267 warnings due to implicit conversion from size_t to int
    
    Solution: change variable type to size_t

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

commit 21a389ca787933c8bf0223e8480bf27910b1d2d4
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon Feb 11 07:24:56 2019 -0500

    Problem: test_security_curve build fails with Windows targeting 8 or newer due to duplicate definition of htonll
    
    Solution: use custom implementation only on older Windows versions

 .clang-format                                      |   53 +
 .clang-tidy                                        |  414 ++++
 .github/PULL_REQUEST_TEMPLATE.md                   |   48 +
 .github/issue_template.md                          |   22 +
 .github/stale.yml                                  |   19 +
 .gitignore                                         |  199 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  173 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1539 +++++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  304 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1161 ++++++++++
 NEWS                                               | 1886 ++++++++++++++++
 README.cygwin.md                                   |   15 +
 README.doxygen.md                                  |   48 +
 README.md                                          |  106 +
 RELICENSE/AndreLouisCaron.md                       |   15 +
 RELICENSE/Asmod4n.md                               |   13 +
 RELICENSE/BerndPrager.md                           |   13 +
 RELICENSE/BillTorpey.md                            |   16 +
 RELICENSE/Bklyn.md                                 |   15 +
 RELICENSE/BrianBuchanan.md                         |   15 +
 RELICENSE/ByronMallett.md                          |   15 +
 RELICENSE/ChristophSchulz.md                       |   15 +
 RELICENSE/ChuckRemes.md                            |   15 +
 RELICENSE/FabriceFontaine.md                       |   15 +
 RELICENSE/FrancescoMontorsi.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/WenbinHou.md                             |   15 +
 RELICENSE/abbradar.md                              |   16 +
 RELICENSE/agronholm.md                             |   15 +
 RELICENSE/amuraru.md                               |   15 +
 RELICENSE/answeroo.md                              |   15 +
 RELICENSE/antonrd.md                               |   17 +
 RELICENSE/arsenm.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/crocket.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/gabm.md                                  |   13 +
 RELICENSE/gena-moscow.md                           |   15 +
 RELICENSE/glemercier.md                            |   17 +
 RELICENSE/gonzus.md                                |   15 +
 RELICENSE/goodfella_ltd.md                         |   13 +
 RELICENSE/google.md                                |   13 +
 RELICENSE/guidovranken.md                          |   17 +
 RELICENSE/hgourvest.md                             |   13 +
 RELICENSE/hoditohod.md                             |   15 +
 RELICENSE/hpsaturn.md                              |    9 +
 RELICENSE/ianbarber.md                             |   15 +
 RELICENSE/imatix.md                                |   23 +
 RELICENSE/jacquesg.md                              |   17 +
 RELICENSE/jakecobb.md                              |   13 +
 RELICENSE/jcourreges.txt                           |   13 +
 RELICENSE/jeffbrubaker.md                          |   14 +
 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/kfish.md                                 |   17 +
 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/ojura.md                                 |    9 +
 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/simias.md                                |   15 +
 RELICENSE/soulik.md                                |   15 +
 RELICENSE/ssbl.md                                  |   17 +
 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/toonetown.md                             |   17 +
 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 +
 acinclude.m4                                       | 1232 +++++++++++
 appveyor.yml                                       |  246 +++
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |   14 +
 builds/abi-compliance-checker/ci_build.sh          |   40 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  320 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   48 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  313 +++
 builds/cmake/Modules/ZMQSupportMacros.cmake        |    5 +
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |  110 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  116 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/deprecated-msvc/.gitignore                  |  256 +++
 builds/deprecated-msvc/Makefile.am                 |   94 +
 builds/deprecated-msvc/build/build.bat             |   33 +
 builds/deprecated-msvc/build/buildall.bat          |   16 +
 builds/deprecated-msvc/build/buildbase.bat         |   73 +
 builds/deprecated-msvc/errno.cpp                   |   32 +
 builds/deprecated-msvc/errno.hpp                   |   56 +
 builds/deprecated-msvc/platform.hpp                |   14 +
 builds/deprecated-msvc/properties/Common.props     |   21 +
 builds/deprecated-msvc/properties/DLL.props        |   16 +
 builds/deprecated-msvc/properties/Debug.props      |   29 +
 builds/deprecated-msvc/properties/DebugDEXE.props  |   21 +
 builds/deprecated-msvc/properties/DebugDLL.props   |   20 +
 builds/deprecated-msvc/properties/DebugLEXE.props  |   20 +
 builds/deprecated-msvc/properties/DebugLIB.props   |   21 +
 builds/deprecated-msvc/properties/DebugLTCG.props  |   20 +
 builds/deprecated-msvc/properties/DebugSEXE.props  |   21 +
 builds/deprecated-msvc/properties/EXE.props        |   17 +
 builds/deprecated-msvc/properties/LIB.props        |   16 +
 builds/deprecated-msvc/properties/LTCG.props       |   13 +
 builds/deprecated-msvc/properties/Link.props       |   21 +
 builds/deprecated-msvc/properties/Messages.props   |   15 +
 builds/deprecated-msvc/properties/Output.props     |   30 +
 builds/deprecated-msvc/properties/Release.props    |   41 +
 .../deprecated-msvc/properties/ReleaseDEXE.props   |   20 +
 builds/deprecated-msvc/properties/ReleaseDLL.props |   19 +
 .../deprecated-msvc/properties/ReleaseLEXE.props   |   20 +
 builds/deprecated-msvc/properties/ReleaseLIB.props |   19 +
 .../deprecated-msvc/properties/ReleaseLTCG.props   |   19 +
 .../deprecated-msvc/properties/ReleaseSEXE.props   |   20 +
 builds/deprecated-msvc/properties/Win32.props      |   20 +
 builds/deprecated-msvc/properties/x64.props        |   23 +
 builds/deprecated-msvc/readme.txt                  |   27 +
 builds/deprecated-msvc/resource.h                  |   14 +
 builds/deprecated-msvc/resource.rc                 |  Bin 0 -> 4650 bytes
 .../vs2008/inproc_lat/inproc_lat.vcproj            |   52 +
 .../vs2008/inproc_thr/inproc_thr.vcproj            |   52 +
 builds/deprecated-msvc/vs2008/libzmq.sln           |   95 +
 builds/deprecated-msvc/vs2008/libzmq/libzmq.vcproj |  338 +++
 .../vs2008/local_lat/local_lat.vcproj              |   52 +
 .../vs2008/local_thr/local_thr.vcproj              |   52 +
 .../vs2008/remote_lat/remote_lat.vcproj            |   52 +
 .../vs2008/remote_thr/remote_thr.vcproj            |   52 +
 .../vs2010/inproc_lat/inproc_lat.props             |   49 +
 .../vs2010/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2010/inproc_thr/inproc_thr.props             |   49 +
 .../vs2010/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2010/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2010/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2010/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2010/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2010/libzmq.sln           |  206 ++
 builds/deprecated-msvc/vs2010/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2010/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2010/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2010/libzmq/libzmq.xml    |   40 +
 .../vs2010/local_lat/local_lat.props               |   49 +
 .../vs2010/local_lat/local_lat.vcxproj             |   82 +
 .../vs2010/local_thr/local_thr.props               |   49 +
 .../vs2010/local_thr/local_thr.vcxproj             |   82 +
 .../vs2010/remote_lat/remote_lat.props             |   49 +
 .../vs2010/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2010/remote_thr/remote_thr.props             |   49 +
 .../vs2010/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2012/inproc_lat/inproc_lat.props             |   49 +
 .../vs2012/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2012/inproc_thr/inproc_thr.props             |   49 +
 .../vs2012/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2012/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2012/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2012/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2012/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2012/libzmq.sln           |  206 ++
 builds/deprecated-msvc/vs2012/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2012/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2012/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2012/libzmq/libzmq.xml    |   40 +
 .../vs2012/local_lat/local_lat.props               |   49 +
 .../vs2012/local_lat/local_lat.vcxproj             |   82 +
 .../vs2012/local_thr/local_thr.props               |   49 +
 .../vs2012/local_thr/local_thr.vcxproj             |   82 +
 .../vs2012/remote_lat/remote_lat.props             |   49 +
 .../vs2012/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2012/remote_thr/remote_thr.props             |   49 +
 .../vs2012/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2013/inproc_lat/inproc_lat.props             |   49 +
 .../vs2013/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2013/inproc_thr/inproc_thr.props             |   49 +
 .../vs2013/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2013/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2013/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2013/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2013/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2013/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2013/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2013/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2013/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2013/libzmq/libzmq.xml    |   40 +
 .../vs2013/local_lat/local_lat.props               |   49 +
 .../vs2013/local_lat/local_lat.vcxproj             |   82 +
 .../vs2013/local_thr/local_thr.props               |   49 +
 .../vs2013/local_thr/local_thr.vcxproj             |   82 +
 .../vs2013/remote_lat/remote_lat.props             |   49 +
 .../vs2013/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2013/remote_thr/remote_thr.props             |   49 +
 .../vs2013/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2015/inproc_lat/inproc_lat.props             |   49 +
 .../vs2015/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2015/inproc_thr/inproc_thr.props             |   49 +
 .../vs2015/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2015/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2015/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2015/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2015/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2015/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2015/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2015/libzmq/libzmq.vcxproj   |  291 +++
 .../vs2015/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2015/libzmq/libzmq.xml    |   40 +
 .../vs2015/local_lat/local_lat.props               |   49 +
 .../vs2015/local_lat/local_lat.vcxproj             |   82 +
 .../vs2015/local_thr/local_thr.props               |   49 +
 .../vs2015/local_thr/local_thr.vcxproj             |   82 +
 .../vs2015/remote_lat/remote_lat.props             |   49 +
 .../vs2015/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2015/remote_thr/remote_thr.props             |   49 +
 .../vs2015/remote_thr/remote_thr.vcxproj           |   82 +
 builds/deprecated-msvc/vs2015_xp/libzmq.vcxproj    |  258 +++
 builds/deprecated-msvc/vs2015_xp/platform.hpp      |   15 +
 .../vs2015_xp/test_zmq/test_multithread.cpp        |  229 ++
 .../vs2015_xp/test_zmq/test_zmq.vcxproj            |  155 ++
 .../vs2017/inproc_lat/inproc_lat.props             |   49 +
 .../vs2017/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2017/inproc_thr/inproc_thr.props             |   49 +
 .../vs2017/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2017/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2017/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2017/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2017/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2017/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2017/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2017/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2017/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2017/libzmq/libzmq.xml    |   40 +
 .../vs2017/local_lat/local_lat.props               |   49 +
 .../vs2017/local_lat/local_lat.vcxproj             |   82 +
 .../vs2017/local_thr/local_thr.props               |   49 +
 .../vs2017/local_thr/local_thr.vcxproj             |   82 +
 .../vs2017/remote_lat/remote_lat.props             |   49 +
 .../vs2017/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2017/remote_thr/remote_thr.props             |   49 +
 .../vs2017/remote_thr/remote_thr.vcxproj           |   82 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 builds/gyp/project.gyp                             |  295 +++
 builds/mingw32/Makefile.mingw32                    |   49 +
 builds/mingw32/platform.hpp                        |   43 +
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   78 +
 ci_deploy.sh                                       |   33 +
 configure.ac                                       |  931 ++++++++
 doc/Makefile.am                                    |   66 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  108 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  123 ++
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  968 ++++++++
 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                               |   83 +
 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                               |  128 ++
 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_poller.txt                                 |  269 +++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  126 ++
 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                             | 1375 ++++++++++++
 doc/zmq_socket.txt                                 |  616 ++++++
 doc/zmq_socket_monitor.txt                         |  292 +++
 doc/zmq_socket_monitor_versioned.txt               |  387 ++++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  142 ++
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_timers.txt                                 |  162 ++
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 external/wepoll/README.md                          |  202 ++
 external/wepoll/license.txt                        |   28 +
 external/wepoll/version.txt                        |    1 +
 external/wepoll/wepoll.c                           | 2186 ++++++++++++++++++
 external/wepoll/wepoll.h                           |  117 +
 include/zmq.h                                      |  753 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_check_vscript.m4                             |  142 ++
 m4/ax_code_coverage.m4                             |  264 +++
 m4/ax_cxx_compile_stdcxx.m4                        |  562 +++++
 m4/ax_cxx_compile_stdcxx_11.m4                     |   40 +
 m4/ax_func_posix_memalign.m4                       |   50 +
 m4/ax_valgrind_check.m4                            |  233 ++
 packaging/README                                   |    4 +
 packaging/debian/changelog                         |    5 +
 packaging/debian/compat                            |    1 +
 packaging/debian/control                           |   69 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  247 +++
 perf/benchmark_radix_tree.cpp                      |  123 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  124 ++
 src/address.hpp                                    |  141 ++
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  239 ++
 src/atomic_ptr.hpp                                 |  307 +++
 src/blob.hpp                                       |  204 ++
 src/client.cpp                                     |  113 +
 src/client.hpp                                     |   74 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   80 +
 src/command.hpp                                    |  224 ++
 src/condition_variable.hpp                         |  329 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  699 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  291 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  307 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  493 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  144 ++
 src/dealer.hpp                                     |   84 +
 src/decoder.hpp                                    |  194 ++
 src/decoder_allocators.cpp                         |  155 ++
 src/decoder_allocators.hpp                         |  133 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  169 ++
 src/dgram.hpp                                      |   75 +
 src/dish.cpp                                       |  351 +++
 src/dish.hpp                                       |  123 ++
 src/dist.cpp                                       |  232 ++
 src/dist.hpp                                       |  115 +
 src/encoder.hpp                                    |  181 ++
 src/endpoint.cpp                                   |   44 +
 src/endpoint.hpp                                   |   72 +
 src/epoll.cpp                                      |  218 ++
 src/epoll.hpp                                      |  118 +
 src/err.cpp                                        |  452 ++++
 src/err.hpp                                        |  181 ++
 src/fd.hpp                                         |   67 +
 src/fq.cpp                                         |  150 ++
 src/fq.hpp                                         |   85 +
 src/gather.cpp                                     |   91 +
 src/gather.hpp                                     |   67 +
 src/generic_mtrie.hpp                              |  127 ++
 src/generic_mtrie_impl.hpp                         |  475 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   70 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   93 +
 src/ip.cpp                                         |  681 ++++++
 src/ip.hpp                                         |   76 +
 src/ip_resolver.cpp                                |  718 ++++++
 src/ip_resolver.hpp                                |  116 +
 src/ipc_address.cpp                                |  119 +
 src/ipc_address.hpp                                |   70 +
 src/ipc_connecter.cpp                              |  171 ++
 src/ipc_connecter.hpp                              |   75 +
 src/ipc_listener.cpp                               |  389 ++++
 src/ipc_listener.hpp                               |   96 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  180 ++
 src/lb.hpp                                         |   86 +
 src/libzmq.pc.in                                   |   12 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   21 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  125 ++
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  360 +++
 src/mechanism.hpp                                  |  148 ++
 src/mechanism_base.cpp                             |   82 +
 src/mechanism_base.hpp                             |   56 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  606 +++++
 src/msg.hpp                                        |  305 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  717 ++++++
 src/norm_engine.hpp                                |  191 ++
 src/null_mechanism.cpp                             |  230 ++
 src/null_mechanism.hpp                             |   73 +
 src/object.cpp                                     |  534 +++++
 src/object.hpp                                     |  165 ++
 src/options.cpp                                    | 1176 ++++++++++
 src/options.hpp                                    |  311 +++
 src/own.cpp                                        |  212 ++
 src/own.hpp                                        |  148 ++
 src/pair.cpp                                       |  138 ++
 src/pair.hpp                                       |   72 +
 src/pgm_receiver.cpp                               |  314 +++
 src/pgm_receiver.hpp                               |  145 ++
 src/pgm_sender.cpp                                 |  256 +++
 src/pgm_sender.hpp                                 |  124 ++
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  581 +++++
 src/pipe.hpp                                       |  267 +++
 src/plain_client.cpp                               |  224 ++
 src/plain_client.hpp                               |   73 +
 src/plain_common.hpp                               |   53 +
 src/plain_server.cpp                               |  253 +++
 src/plain_server.hpp                               |   66 +
 src/poll.cpp                                       |  204 ++
 src/poll.hpp                                       |  111 +
 src/poller.hpp                                     |   68 +
 src/poller_base.cpp                                |  140 ++
 src/poller_base.hpp                                |  196 ++
 src/polling_util.cpp                               |   51 +
 src/polling_util.hpp                               |  181 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  134 ++
 src/proxy.cpp                                      |  638 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   69 +
 src/pub.hpp                                        |   61 +
 src/pull.cpp                                       |   76 +
 src/pull.hpp                                       |   69 +
 src/push.cpp                                       |   80 +
 src/push.hpp                                       |   69 +
 src/radio.cpp                                      |  286 +++
 src/radio.hpp                                      |  115 +
 src/radix_tree.cpp                                 |  554 +++++
 src/radix_tree.hpp                                 |  147 ++
 src/random.cpp                                     |  170 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   69 +
 src/raw_encoder.cpp                                |   50 +
 src/raw_encoder.hpp                                |   57 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  333 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  523 +++++
 src/router.hpp                                     |  131 ++
 src/scatter.cpp                                    |   86 +
 src/scatter.hpp                                    |   69 +
 src/select.cpp                                     |  630 ++++++
 src/select.hpp                                     |  172 ++
 src/server.cpp                                     |  181 ++
 src/server.hpp                                     |   89 +
 src/session_base.cpp                               |  772 +++++++
 src/session_base.hpp                               |  197 ++
 src/signaler.cpp                                   |  413 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 2005 +++++++++++++++++
 src/socket_base.hpp                                |  393 ++++
 src/socket_poller.cpp                              |  686 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  362 +++
 src/socks_connecter.hpp                            |  117 +
 src/stdint.hpp                                     |   80 +
 src/stream.cpp                                     |  291 +++
 src/stream.hpp                                     |   95 +
 src/stream_connecter_base.cpp                      |  179 ++
 src/stream_connecter_base.hpp                      |  125 ++
 src/stream_engine.cpp                              | 1256 +++++++++++
 src/stream_engine.hpp                              |  248 +++
 src/stream_listener_base.cpp                       |  123 ++
 src/stream_listener_base.hpp                       |   90 +
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  451 ++++
 src/tcp.hpp                                        |   87 +
 src/tcp_address.cpp                                |  359 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  304 +++
 src/tcp_connecter.hpp                              |   91 +
 src/tcp_listener.cpp                               |  271 +++
 src/tcp_listener.hpp                               |   72 +
 src/thread.cpp                                     |  329 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  184 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  171 ++
 src/tipc_address.hpp                               |   76 +
 src/tipc_connecter.cpp                             |  175 ++
 src/tipc_connecter.hpp                             |   76 +
 src/tipc_listener.cpp                              |  172 ++
 src/tipc_listener.hpp                              |   77 +
 src/trie.cpp                                       |  323 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   80 +
 src/udp_address.cpp                                |  208 ++
 src/udp_address.hpp                                |   73 +
 src/udp_engine.cpp                                 |  569 +++++
 src/udp_engine.hpp                                 |   74 +
 src/v1_decoder.cpp                                 |  156 ++
 src/v1_decoder.hpp                                 |   63 +
 src/v1_encoder.cpp                                 |   77 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  167 ++
 src/v2_decoder.hpp                                 |   71 +
 src/v2_encoder.cpp                                 |   80 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  300 +++
 src/vmci_connecter.hpp                             |  138 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   99 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |  103 +
 src/xpub.cpp                                       |  362 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  261 +++
 src/xsub.hpp                                       |  105 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  216 ++
 src/zap_client.cpp                                 |  314 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1462 ++++++++++++
 src/zmq_draft.h                                    |  143 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  262 +++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   74 +
 tests/test_address_tipc.cpp                        |  153 ++
 tests/test_ancillaries.cpp                         |   71 +
 tests/test_app_meta.cpp                            |  169 ++
 tests/test_atomics.cpp                             |   65 +
 tests/test_base85.cpp                              |  203 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   99 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  256 +++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  258 +++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  266 +++
 tests/test_dgram.cpp                               |  114 +
 tests/test_diffserv.cpp                            |   82 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  223 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  451 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  303 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  363 +++
 tests/test_invalid_rep.cpp                         |  101 +
 tests/test_iov.cpp                                 |  159 ++
 tests/test_ipc_wildcard.cpp                        |   71 +
 tests/test_issue_566.cpp                           |  108 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  102 +
 tests/test_metadata.cpp                            |  135 ++
 tests/test_mock_pub_sub.cpp                        |  226 ++
 tests/test_monitor.cpp                             |  405 ++++
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   82 +
 tests/test_pair_ipc.cpp                            |   71 +
 tests/test_pair_tcp.cpp                            |  132 ++
 tests/test_pair_tcp_cap_net_admin.cpp              |   89 +
 tests/test_pair_tipc.cpp                           |   70 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  662 ++++++
 tests/test_probe_router.cpp                        |  121 +
 tests/test_proxy.cpp                               |  501 +++++
 tests/test_proxy_hwm.cpp                           |  421 ++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  126 ++
 tests/test_radio_dish.cpp                          |  527 +++++
 tests/test_rebind_ipc.cpp                          |   79 +
 tests/test_reconnect_ivl.cpp                       |  124 ++
 tests/test_req_correlate.cpp                       |  132 ++
 tests/test_req_relaxed.cpp                         |  238 ++
 tests/test_reqrep_device.cpp                       |  135 ++
 tests/test_reqrep_device_tipc.cpp                  |  135 ++
 tests/test_reqrep_inproc.cpp                       |   66 +
 tests/test_reqrep_ipc.cpp                          |  100 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   70 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  171 ++
 tests/test_router_mandatory.cpp                    |  245 +++
 tests/test_router_mandatory_hwm.cpp                |  128 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_router_notify.cpp                       |  334 +++
 tests/test_scatter_gather.cpp                      |   97 +
 tests/test_security_curve.cpp                      |  656 ++++++
 tests/test_security_gssapi.cpp                     |  352 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  356 +++
 tests/test_setsockopt.cpp                          |  156 ++
 tests/test_shutdown_stress.cpp                     |   97 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |  114 +
 tests/test_spec_dealer.cpp                         |  235 ++
 tests/test_spec_pushpull.cpp                       |  426 ++++
 tests/test_spec_rep.cpp                            |  182 ++
 tests/test_spec_req.cpp                            |  270 +++
 tests/test_spec_router.cpp                         |  207 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  309 +++
 tests/test_stream_disconnect.cpp                   |  269 +++
 tests/test_stream_empty.cpp                        |   79 +
 tests/test_stream_exceeds_buffer.cpp               |  129 ++
 tests/test_stream_timeout.cpp                      |  205 ++
 tests/test_sub_forward.cpp                         |  101 +
 tests/test_sub_forward_tipc.cpp                    |  102 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  191 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   95 +
 tests/test_timers.cpp                              |  222 ++
 tests/test_unbind_wildcard.cpp                     |  211 ++
 tests/test_use_fd.cpp                              |  303 +++
 tests/test_xpub_manual.cpp                         |  457 ++++
 tests/test_xpub_nodrop.cpp                         |  118 +
 tests/test_xpub_verbose.cpp                        |  338 +++
 tests/test_xpub_welcome_msg.cpp                    |   83 +
 tests/test_zmq_poll_fd.cpp                         |  105 +
 tests/testutil.hpp                                 |  475 ++++
 tests/testutil_monitoring.hpp                      |  350 +++
 tests/testutil_security.hpp                        |  526 +++++
 tests/testutil_unity.hpp                           |  370 ++++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   68 +
 unittests/unittest_ip_resolver.cpp                 |  962 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  277 +++
 unittests/unittest_radix_tree.cpp                  |  290 +++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 859 files changed, 129399 insertions(+)

commit 119a2585043b97dcd30349d51695a892fe98e6ff
Merge: e5a7f2e feadf6d
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Mon Feb 11 10:49:39 2019 +0100

    Merge pull request #3383 from ZMQers/queue_monitor
    
    Problem: cannot monitor state of queues at runtime

commit feadf6d40f302aa556b6e5b47e2737379bc46f81
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Jan 31 17:23:42 2019 +0100

    Problem: cannot monitor state of queues at runtime
    
    Solution: add API and ZMQ_EVENT_PIPES_STATS event which generates 2
    values, one for the egress and one for the ingress pipes respectively.
    Refactor the events code to be able to send multiple values.

 doc/zmq_socket_monitor_versioned.txt |  84 +++++++++++++++-----
 include/zmq.h                        |   6 +-
 src/command.hpp                      |  20 +++++
 src/object.cpp                       |  56 +++++++++++++
 src/object.hpp                       |  16 ++++
 src/pipe.cpp                         |  16 ++++
 src/pipe.hpp                         |   5 ++
 src/session_base.cpp                 |   5 ++
 src/socket_base.cpp                  |  39 +++++++++
 src/socket_base.hpp                  |   8 ++
 src/zmq.cpp                          |   8 ++
 src/zmq_draft.h                      |  10 +++
 tests/test_monitor.cpp               | 149 ++++++++++++++++++++++++++++++++++-
 tests/testutil_monitoring.hpp        |   4 +-
 14 files changed, 401 insertions(+), 25 deletions(-)

commit cb73745250dce53aa6e059751a47940b7518a1c3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Feb 5 19:23:21 2019 +0000

    Problem: cannot send more than one value per v2 event
    
    Solution: refactor code and add extra frame with value count before the
    values in v2

 .clang-format                                      |   53 +
 .clang-tidy                                        |  414 ++++
 .github/PULL_REQUEST_TEMPLATE.md                   |   48 +
 .github/issue_template.md                          |   22 +
 .github/stale.yml                                  |   19 +
 .gitignore                                         |  199 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  173 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1459 ++++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  304 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1161 ++++++++++
 NEWS                                               | 1886 ++++++++++++++++
 README.cygwin.md                                   |   15 +
 README.doxygen.md                                  |   48 +
 README.md                                          |  106 +
 RELICENSE/AndreLouisCaron.md                       |   15 +
 RELICENSE/Asmod4n.md                               |   13 +
 RELICENSE/BerndPrager.md                           |   13 +
 RELICENSE/BillTorpey.md                            |   16 +
 RELICENSE/Bklyn.md                                 |   15 +
 RELICENSE/BrianBuchanan.md                         |   15 +
 RELICENSE/ByronMallett.md                          |   15 +
 RELICENSE/ChristophSchulz.md                       |   15 +
 RELICENSE/ChuckRemes.md                            |   15 +
 RELICENSE/FabriceFontaine.md                       |   15 +
 RELICENSE/FrancescoMontorsi.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/WenbinHou.md                             |   15 +
 RELICENSE/abbradar.md                              |   16 +
 RELICENSE/agronholm.md                             |   15 +
 RELICENSE/amuraru.md                               |   15 +
 RELICENSE/answeroo.md                              |   15 +
 RELICENSE/antonrd.md                               |   17 +
 RELICENSE/arsenm.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/crocket.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/gabm.md                                  |   13 +
 RELICENSE/gena-moscow.md                           |   15 +
 RELICENSE/glemercier.md                            |   17 +
 RELICENSE/gonzus.md                                |   15 +
 RELICENSE/goodfella_ltd.md                         |   13 +
 RELICENSE/google.md                                |   13 +
 RELICENSE/guidovranken.md                          |   17 +
 RELICENSE/hgourvest.md                             |   13 +
 RELICENSE/hoditohod.md                             |   15 +
 RELICENSE/hpsaturn.md                              |    9 +
 RELICENSE/ianbarber.md                             |   15 +
 RELICENSE/imatix.md                                |   23 +
 RELICENSE/jacquesg.md                              |   17 +
 RELICENSE/jakecobb.md                              |   13 +
 RELICENSE/jcourreges.txt                           |   13 +
 RELICENSE/jeffbrubaker.md                          |   14 +
 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/kfish.md                                 |   17 +
 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/ojura.md                                 |    9 +
 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/simias.md                                |   15 +
 RELICENSE/soulik.md                                |   15 +
 RELICENSE/ssbl.md                                  |   17 +
 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/toonetown.md                             |   17 +
 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 +
 acinclude.m4                                       | 1191 ++++++++++
 appveyor.yml                                       |  246 +++
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |   14 +
 builds/abi-compliance-checker/ci_build.sh          |   40 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  320 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   48 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  313 +++
 builds/cmake/Modules/ZMQSupportMacros.cmake        |    5 +
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |  110 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  111 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/deprecated-msvc/.gitignore                  |  256 +++
 builds/deprecated-msvc/Makefile.am                 |   94 +
 builds/deprecated-msvc/build/build.bat             |   33 +
 builds/deprecated-msvc/build/buildall.bat          |   16 +
 builds/deprecated-msvc/build/buildbase.bat         |   73 +
 builds/deprecated-msvc/errno.cpp                   |   32 +
 builds/deprecated-msvc/errno.hpp                   |   56 +
 builds/deprecated-msvc/platform.hpp                |   14 +
 builds/deprecated-msvc/properties/Common.props     |   21 +
 builds/deprecated-msvc/properties/DLL.props        |   16 +
 builds/deprecated-msvc/properties/Debug.props      |   29 +
 builds/deprecated-msvc/properties/DebugDEXE.props  |   21 +
 builds/deprecated-msvc/properties/DebugDLL.props   |   20 +
 builds/deprecated-msvc/properties/DebugLEXE.props  |   20 +
 builds/deprecated-msvc/properties/DebugLIB.props   |   21 +
 builds/deprecated-msvc/properties/DebugLTCG.props  |   20 +
 builds/deprecated-msvc/properties/DebugSEXE.props  |   21 +
 builds/deprecated-msvc/properties/EXE.props        |   17 +
 builds/deprecated-msvc/properties/LIB.props        |   16 +
 builds/deprecated-msvc/properties/LTCG.props       |   13 +
 builds/deprecated-msvc/properties/Link.props       |   21 +
 builds/deprecated-msvc/properties/Messages.props   |   15 +
 builds/deprecated-msvc/properties/Output.props     |   30 +
 builds/deprecated-msvc/properties/Release.props    |   41 +
 .../deprecated-msvc/properties/ReleaseDEXE.props   |   20 +
 builds/deprecated-msvc/properties/ReleaseDLL.props |   19 +
 .../deprecated-msvc/properties/ReleaseLEXE.props   |   20 +
 builds/deprecated-msvc/properties/ReleaseLIB.props |   19 +
 .../deprecated-msvc/properties/ReleaseLTCG.props   |   19 +
 .../deprecated-msvc/properties/ReleaseSEXE.props   |   20 +
 builds/deprecated-msvc/properties/Win32.props      |   20 +
 builds/deprecated-msvc/properties/x64.props        |   23 +
 builds/deprecated-msvc/readme.txt                  |   27 +
 builds/deprecated-msvc/resource.h                  |   14 +
 builds/deprecated-msvc/resource.rc                 |  Bin 0 -> 4650 bytes
 .../vs2008/inproc_lat/inproc_lat.vcproj            |   52 +
 .../vs2008/inproc_thr/inproc_thr.vcproj            |   52 +
 builds/deprecated-msvc/vs2008/libzmq.sln           |   95 +
 builds/deprecated-msvc/vs2008/libzmq/libzmq.vcproj |  338 +++
 .../vs2008/local_lat/local_lat.vcproj              |   52 +
 .../vs2008/local_thr/local_thr.vcproj              |   52 +
 .../vs2008/remote_lat/remote_lat.vcproj            |   52 +
 .../vs2008/remote_thr/remote_thr.vcproj            |   52 +
 .../vs2010/inproc_lat/inproc_lat.props             |   49 +
 .../vs2010/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2010/inproc_thr/inproc_thr.props             |   49 +
 .../vs2010/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2010/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2010/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2010/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2010/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2010/libzmq.sln           |  206 ++
 builds/deprecated-msvc/vs2010/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2010/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2010/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2010/libzmq/libzmq.xml    |   40 +
 .../vs2010/local_lat/local_lat.props               |   49 +
 .../vs2010/local_lat/local_lat.vcxproj             |   82 +
 .../vs2010/local_thr/local_thr.props               |   49 +
 .../vs2010/local_thr/local_thr.vcxproj             |   82 +
 .../vs2010/remote_lat/remote_lat.props             |   49 +
 .../vs2010/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2010/remote_thr/remote_thr.props             |   49 +
 .../vs2010/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2012/inproc_lat/inproc_lat.props             |   49 +
 .../vs2012/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2012/inproc_thr/inproc_thr.props             |   49 +
 .../vs2012/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2012/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2012/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2012/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2012/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2012/libzmq.sln           |  206 ++
 builds/deprecated-msvc/vs2012/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2012/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2012/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2012/libzmq/libzmq.xml    |   40 +
 .../vs2012/local_lat/local_lat.props               |   49 +
 .../vs2012/local_lat/local_lat.vcxproj             |   82 +
 .../vs2012/local_thr/local_thr.props               |   49 +
 .../vs2012/local_thr/local_thr.vcxproj             |   82 +
 .../vs2012/remote_lat/remote_lat.props             |   49 +
 .../vs2012/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2012/remote_thr/remote_thr.props             |   49 +
 .../vs2012/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2013/inproc_lat/inproc_lat.props             |   49 +
 .../vs2013/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2013/inproc_thr/inproc_thr.props             |   49 +
 .../vs2013/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2013/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2013/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2013/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2013/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2013/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2013/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2013/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2013/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2013/libzmq/libzmq.xml    |   40 +
 .../vs2013/local_lat/local_lat.props               |   49 +
 .../vs2013/local_lat/local_lat.vcxproj             |   82 +
 .../vs2013/local_thr/local_thr.props               |   49 +
 .../vs2013/local_thr/local_thr.vcxproj             |   82 +
 .../vs2013/remote_lat/remote_lat.props             |   49 +
 .../vs2013/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2013/remote_thr/remote_thr.props             |   49 +
 .../vs2013/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2015/inproc_lat/inproc_lat.props             |   49 +
 .../vs2015/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2015/inproc_thr/inproc_thr.props             |   49 +
 .../vs2015/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2015/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2015/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2015/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2015/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2015/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2015/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2015/libzmq/libzmq.vcxproj   |  291 +++
 .../vs2015/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2015/libzmq/libzmq.xml    |   40 +
 .../vs2015/local_lat/local_lat.props               |   49 +
 .../vs2015/local_lat/local_lat.vcxproj             |   82 +
 .../vs2015/local_thr/local_thr.props               |   49 +
 .../vs2015/local_thr/local_thr.vcxproj             |   82 +
 .../vs2015/remote_lat/remote_lat.props             |   49 +
 .../vs2015/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2015/remote_thr/remote_thr.props             |   49 +
 .../vs2015/remote_thr/remote_thr.vcxproj           |   82 +
 builds/deprecated-msvc/vs2015_xp/libzmq.vcxproj    |  258 +++
 builds/deprecated-msvc/vs2015_xp/platform.hpp      |   15 +
 .../vs2015_xp/test_zmq/test_multithread.cpp        |  229 ++
 .../vs2015_xp/test_zmq/test_zmq.vcxproj            |  155 ++
 .../vs2017/inproc_lat/inproc_lat.props             |   49 +
 .../vs2017/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2017/inproc_thr/inproc_thr.props             |   49 +
 .../vs2017/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2017/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2017/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2017/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2017/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2017/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2017/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2017/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2017/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2017/libzmq/libzmq.xml    |   40 +
 .../vs2017/local_lat/local_lat.props               |   49 +
 .../vs2017/local_lat/local_lat.vcxproj             |   82 +
 .../vs2017/local_thr/local_thr.props               |   49 +
 .../vs2017/local_thr/local_thr.vcxproj             |   82 +
 .../vs2017/remote_lat/remote_lat.props             |   49 +
 .../vs2017/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2017/remote_thr/remote_thr.props             |   49 +
 .../vs2017/remote_thr/remote_thr.vcxproj           |   82 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 builds/gyp/project.gyp                             |  295 +++
 builds/mingw32/Makefile.mingw32                    |   49 +
 builds/mingw32/platform.hpp                        |   43 +
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   78 +
 ci_deploy.sh                                       |   33 +
 configure.ac                                       |  928 ++++++++
 doc/Makefile.am                                    |   66 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  108 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  123 ++
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  968 ++++++++
 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                               |   83 +
 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                               |  128 ++
 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_poller.txt                                 |  269 +++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  126 ++
 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                             | 1375 ++++++++++++
 doc/zmq_socket.txt                                 |  616 ++++++
 doc/zmq_socket_monitor.txt                         |  292 +++
 doc/zmq_socket_monitor_versioned.txt               |  339 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  142 ++
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_timers.txt                                 |  162 ++
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 external/wepoll/README.md                          |  202 ++
 external/wepoll/license.txt                        |   28 +
 external/wepoll/version.txt                        |    1 +
 external/wepoll/wepoll.c                           | 2186 ++++++++++++++++++
 external/wepoll/wepoll.h                           |  117 +
 include/zmq.h                                      |  749 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_check_vscript.m4                             |  142 ++
 m4/ax_code_coverage.m4                             |  264 +++
 m4/ax_cxx_compile_stdcxx.m4                        |  562 +++++
 m4/ax_cxx_compile_stdcxx_11.m4                     |   40 +
 m4/ax_func_posix_memalign.m4                       |   50 +
 m4/ax_valgrind_check.m4                            |  233 ++
 packaging/README                                   |    4 +
 packaging/debian/changelog                         |    5 +
 packaging/debian/compat                            |    1 +
 packaging/debian/control                           |   69 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  247 +++
 perf/benchmark_radix_tree.cpp                      |  123 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  124 ++
 src/address.hpp                                    |  141 ++
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  239 ++
 src/atomic_ptr.hpp                                 |  307 +++
 src/blob.hpp                                       |  204 ++
 src/client.cpp                                     |  113 +
 src/client.hpp                                     |   74 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   80 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  699 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  291 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  307 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  493 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  144 ++
 src/dealer.hpp                                     |   84 +
 src/decoder.hpp                                    |  194 ++
 src/decoder_allocators.cpp                         |  155 ++
 src/decoder_allocators.hpp                         |  133 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  169 ++
 src/dgram.hpp                                      |   75 +
 src/dish.cpp                                       |  351 +++
 src/dish.hpp                                       |  123 ++
 src/dist.cpp                                       |  232 ++
 src/dist.hpp                                       |  115 +
 src/encoder.hpp                                    |  181 ++
 src/endpoint.cpp                                   |   44 +
 src/endpoint.hpp                                   |   72 +
 src/epoll.cpp                                      |  218 ++
 src/epoll.hpp                                      |  118 +
 src/err.cpp                                        |  452 ++++
 src/err.hpp                                        |  181 ++
 src/fd.hpp                                         |   67 +
 src/fq.cpp                                         |  150 ++
 src/fq.hpp                                         |   85 +
 src/gather.cpp                                     |   91 +
 src/gather.hpp                                     |   67 +
 src/generic_mtrie.hpp                              |  127 ++
 src/generic_mtrie_impl.hpp                         |  475 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   70 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   93 +
 src/ip.cpp                                         |  681 ++++++
 src/ip.hpp                                         |   76 +
 src/ip_resolver.cpp                                |  718 ++++++
 src/ip_resolver.hpp                                |  116 +
 src/ipc_address.cpp                                |  119 +
 src/ipc_address.hpp                                |   70 +
 src/ipc_connecter.cpp                              |  171 ++
 src/ipc_connecter.hpp                              |   75 +
 src/ipc_listener.cpp                               |  389 ++++
 src/ipc_listener.hpp                               |   96 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  180 ++
 src/lb.hpp                                         |   86 +
 src/libzmq.pc.in                                   |   12 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   21 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  125 ++
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  360 +++
 src/mechanism.hpp                                  |  148 ++
 src/mechanism_base.cpp                             |   82 +
 src/mechanism_base.hpp                             |   56 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  606 +++++
 src/msg.hpp                                        |  305 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  717 ++++++
 src/norm_engine.hpp                                |  191 ++
 src/null_mechanism.cpp                             |  230 ++
 src/null_mechanism.hpp                             |   73 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1176 ++++++++++
 src/options.hpp                                    |  311 +++
 src/own.cpp                                        |  212 ++
 src/own.hpp                                        |  148 ++
 src/pair.cpp                                       |  138 ++
 src/pair.hpp                                       |   72 +
 src/pgm_receiver.cpp                               |  314 +++
 src/pgm_receiver.hpp                               |  145 ++
 src/pgm_sender.cpp                                 |  256 +++
 src/pgm_sender.hpp                                 |  124 ++
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  565 +++++
 src/pipe.hpp                                       |  262 +++
 src/plain_client.cpp                               |  224 ++
 src/plain_client.hpp                               |   73 +
 src/plain_common.hpp                               |   53 +
 src/plain_server.cpp                               |  253 +++
 src/plain_server.hpp                               |   66 +
 src/poll.cpp                                       |  204 ++
 src/poll.hpp                                       |  111 +
 src/poller.hpp                                     |   68 +
 src/poller_base.cpp                                |  140 ++
 src/poller_base.hpp                                |  196 ++
 src/polling_util.cpp                               |   51 +
 src/polling_util.hpp                               |  181 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  134 ++
 src/proxy.cpp                                      |  638 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   69 +
 src/pub.hpp                                        |   61 +
 src/pull.cpp                                       |   76 +
 src/pull.hpp                                       |   69 +
 src/push.cpp                                       |   80 +
 src/push.hpp                                       |   69 +
 src/radio.cpp                                      |  286 +++
 src/radio.hpp                                      |  115 +
 src/radix_tree.cpp                                 |  554 +++++
 src/radix_tree.hpp                                 |  147 ++
 src/random.cpp                                     |  170 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   69 +
 src/raw_encoder.cpp                                |   50 +
 src/raw_encoder.hpp                                |   57 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  333 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  523 +++++
 src/router.hpp                                     |  131 ++
 src/scatter.cpp                                    |   86 +
 src/scatter.hpp                                    |   69 +
 src/select.cpp                                     |  630 ++++++
 src/select.hpp                                     |  172 ++
 src/server.cpp                                     |  181 ++
 src/server.hpp                                     |   89 +
 src/session_base.cpp                               |  767 +++++++
 src/session_base.hpp                               |  197 ++
 src/signaler.cpp                                   |  413 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1966 +++++++++++++++++
 src/socket_base.hpp                                |  385 ++++
 src/socket_poller.cpp                              |  686 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  362 +++
 src/socks_connecter.hpp                            |  117 +
 src/stdint.hpp                                     |   80 +
 src/stream.cpp                                     |  291 +++
 src/stream.hpp                                     |   95 +
 src/stream_connecter_base.cpp                      |  179 ++
 src/stream_connecter_base.hpp                      |  125 ++
 src/stream_engine.cpp                              | 1256 +++++++++++
 src/stream_engine.hpp                              |  248 +++
 src/stream_listener_base.cpp                       |  123 ++
 src/stream_listener_base.hpp                       |   90 +
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  451 ++++
 src/tcp.hpp                                        |   87 +
 src/tcp_address.cpp                                |  359 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  304 +++
 src/tcp_connecter.hpp                              |   91 +
 src/tcp_listener.cpp                               |  271 +++
 src/tcp_listener.hpp                               |   72 +
 src/thread.cpp                                     |  329 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  184 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  171 ++
 src/tipc_address.hpp                               |   76 +
 src/tipc_connecter.cpp                             |  175 ++
 src/tipc_connecter.hpp                             |   76 +
 src/tipc_listener.cpp                              |  172 ++
 src/tipc_listener.hpp                              |   77 +
 src/trie.cpp                                       |  323 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   80 +
 src/udp_address.cpp                                |  208 ++
 src/udp_address.hpp                                |   73 +
 src/udp_engine.cpp                                 |  569 +++++
 src/udp_engine.hpp                                 |   74 +
 src/v1_decoder.cpp                                 |  156 ++
 src/v1_decoder.hpp                                 |   63 +
 src/v1_encoder.cpp                                 |   77 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  167 ++
 src/v2_decoder.hpp                                 |   71 +
 src/v2_encoder.cpp                                 |   80 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  300 +++
 src/vmci_connecter.hpp                             |  138 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   99 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |  103 +
 src/xpub.cpp                                       |  362 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  261 +++
 src/xsub.hpp                                       |  105 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  216 ++
 src/zap_client.cpp                                 |  314 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1454 ++++++++++++
 src/zmq_draft.h                                    |  133 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  262 +++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   74 +
 tests/test_address_tipc.cpp                        |  153 ++
 tests/test_ancillaries.cpp                         |   71 +
 tests/test_app_meta.cpp                            |  169 ++
 tests/test_atomics.cpp                             |   65 +
 tests/test_base85.cpp                              |  203 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   99 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  256 +++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  258 +++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  266 +++
 tests/test_dgram.cpp                               |  114 +
 tests/test_diffserv.cpp                            |   82 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  223 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  451 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  303 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  363 +++
 tests/test_invalid_rep.cpp                         |  101 +
 tests/test_iov.cpp                                 |  159 ++
 tests/test_ipc_wildcard.cpp                        |   71 +
 tests/test_issue_566.cpp                           |  108 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  102 +
 tests/test_metadata.cpp                            |  135 ++
 tests/test_mock_pub_sub.cpp                        |  226 ++
 tests/test_monitor.cpp                             |  264 +++
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   82 +
 tests/test_pair_ipc.cpp                            |   71 +
 tests/test_pair_tcp.cpp                            |  132 ++
 tests/test_pair_tcp_cap_net_admin.cpp              |   89 +
 tests/test_pair_tipc.cpp                           |   70 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  662 ++++++
 tests/test_probe_router.cpp                        |  121 +
 tests/test_proxy.cpp                               |  501 +++++
 tests/test_proxy_hwm.cpp                           |  421 ++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  126 ++
 tests/test_radio_dish.cpp                          |  527 +++++
 tests/test_rebind_ipc.cpp                          |   79 +
 tests/test_reconnect_ivl.cpp                       |  124 ++
 tests/test_req_correlate.cpp                       |  132 ++
 tests/test_req_relaxed.cpp                         |  238 ++
 tests/test_reqrep_device.cpp                       |  135 ++
 tests/test_reqrep_device_tipc.cpp                  |  135 ++
 tests/test_reqrep_inproc.cpp                       |   66 +
 tests/test_reqrep_ipc.cpp                          |  100 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   70 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  171 ++
 tests/test_router_mandatory.cpp                    |  245 +++
 tests/test_router_mandatory_hwm.cpp                |  128 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_router_notify.cpp                       |  334 +++
 tests/test_scatter_gather.cpp                      |   97 +
 tests/test_security_curve.cpp                      |  657 ++++++
 tests/test_security_gssapi.cpp                     |  352 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  356 +++
 tests/test_setsockopt.cpp                          |  156 ++
 tests/test_shutdown_stress.cpp                     |   97 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |  114 +
 tests/test_spec_dealer.cpp                         |  235 ++
 tests/test_spec_pushpull.cpp                       |  426 ++++
 tests/test_spec_rep.cpp                            |  182 ++
 tests/test_spec_req.cpp                            |  270 +++
 tests/test_spec_router.cpp                         |  207 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  309 +++
 tests/test_stream_disconnect.cpp                   |  269 +++
 tests/test_stream_empty.cpp                        |   79 +
 tests/test_stream_exceeds_buffer.cpp               |  129 ++
 tests/test_stream_timeout.cpp                      |  205 ++
 tests/test_sub_forward.cpp                         |  101 +
 tests/test_sub_forward_tipc.cpp                    |  102 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  191 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   95 +
 tests/test_timers.cpp                              |  222 ++
 tests/test_unbind_wildcard.cpp                     |  211 ++
 tests/test_use_fd.cpp                              |  303 +++
 tests/test_xpub_manual.cpp                         |  457 ++++
 tests/test_xpub_nodrop.cpp                         |  118 +
 tests/test_xpub_verbose.cpp                        |  338 +++
 tests/test_xpub_welcome_msg.cpp                    |   83 +
 tests/test_zmq_poll_fd.cpp                         |  105 +
 tests/testutil.hpp                                 |  475 ++++
 tests/testutil_monitoring.hpp                      |  350 +++
 tests/testutil_security.hpp                        |  526 +++++
 tests/testutil_unity.hpp                           |  370 ++++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   68 +
 unittests/unittest_ip_resolver.cpp                 |  962 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  277 +++
 unittests/unittest_radix_tree.cpp                  |  290 +++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 859 files changed, 128919 insertions(+)

commit e5a7f2eb568b5655699a16ae9867fe656b42b533
Merge: 4bdb05d 31ff05d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Feb 7 15:58:38 2019 +0000

    Merge pull request #3402 from sigiesec/revert-64-bit-assertions
    
    Revert 64 bit assertions

commit 31ff05d156c0640f469861770eb10e23ae994d54
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Feb 7 10:42:16 2019 -0500

    Revert "Problem: test build fails on 32 bit systems"
    
    This reverts commit ac19d5f41ccca7acc40fb5970d6f7a0b20e0bc66.

 .clang-format                                      |   53 +
 .clang-tidy                                        |  414 ++++
 .github/PULL_REQUEST_TEMPLATE.md                   |   48 +
 .github/issue_template.md                          |   22 +
 .github/stale.yml                                  |   19 +
 .gitignore                                         |  199 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  173 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1459 ++++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  304 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1160 ++++++++++
 NEWS                                               | 1886 ++++++++++++++++
 README.cygwin.md                                   |   15 +
 README.doxygen.md                                  |   48 +
 README.md                                          |  106 +
 RELICENSE/AndreLouisCaron.md                       |   15 +
 RELICENSE/Asmod4n.md                               |   13 +
 RELICENSE/BerndPrager.md                           |   13 +
 RELICENSE/BillTorpey.md                            |   16 +
 RELICENSE/Bklyn.md                                 |   15 +
 RELICENSE/BrianBuchanan.md                         |   15 +
 RELICENSE/ByronMallett.md                          |   15 +
 RELICENSE/ChristophSchulz.md                       |   15 +
 RELICENSE/ChuckRemes.md                            |   15 +
 RELICENSE/FabriceFontaine.md                       |   15 +
 RELICENSE/FrancescoMontorsi.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/WenbinHou.md                             |   15 +
 RELICENSE/abbradar.md                              |   16 +
 RELICENSE/agronholm.md                             |   15 +
 RELICENSE/amuraru.md                               |   15 +
 RELICENSE/answeroo.md                              |   15 +
 RELICENSE/antonrd.md                               |   17 +
 RELICENSE/arsenm.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/crocket.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/gabm.md                                  |   13 +
 RELICENSE/gena-moscow.md                           |   15 +
 RELICENSE/glemercier.md                            |   17 +
 RELICENSE/gonzus.md                                |   15 +
 RELICENSE/goodfella_ltd.md                         |   13 +
 RELICENSE/google.md                                |   13 +
 RELICENSE/guidovranken.md                          |   17 +
 RELICENSE/hgourvest.md                             |   13 +
 RELICENSE/hoditohod.md                             |   15 +
 RELICENSE/hpsaturn.md                              |    9 +
 RELICENSE/ianbarber.md                             |   15 +
 RELICENSE/imatix.md                                |   23 +
 RELICENSE/jacquesg.md                              |   17 +
 RELICENSE/jakecobb.md                              |   13 +
 RELICENSE/jcourreges.txt                           |   13 +
 RELICENSE/jeffbrubaker.md                          |   14 +
 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/kfish.md                                 |   17 +
 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/ojura.md                                 |    9 +
 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/simias.md                                |   15 +
 RELICENSE/soulik.md                                |   15 +
 RELICENSE/ssbl.md                                  |   17 +
 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/toonetown.md                             |   17 +
 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 +
 acinclude.m4                                       | 1191 ++++++++++
 appveyor.yml                                       |  246 +++
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |   14 +
 builds/abi-compliance-checker/ci_build.sh          |   40 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  320 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   48 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  313 +++
 builds/cmake/Modules/ZMQSupportMacros.cmake        |    5 +
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |  110 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  111 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/deprecated-msvc/.gitignore                  |  256 +++
 builds/deprecated-msvc/Makefile.am                 |   94 +
 builds/deprecated-msvc/build/build.bat             |   33 +
 builds/deprecated-msvc/build/buildall.bat          |   16 +
 builds/deprecated-msvc/build/buildbase.bat         |   73 +
 builds/deprecated-msvc/errno.cpp                   |   32 +
 builds/deprecated-msvc/errno.hpp                   |   56 +
 builds/deprecated-msvc/platform.hpp                |   14 +
 builds/deprecated-msvc/properties/Common.props     |   21 +
 builds/deprecated-msvc/properties/DLL.props        |   16 +
 builds/deprecated-msvc/properties/Debug.props      |   29 +
 builds/deprecated-msvc/properties/DebugDEXE.props  |   21 +
 builds/deprecated-msvc/properties/DebugDLL.props   |   20 +
 builds/deprecated-msvc/properties/DebugLEXE.props  |   20 +
 builds/deprecated-msvc/properties/DebugLIB.props   |   21 +
 builds/deprecated-msvc/properties/DebugLTCG.props  |   20 +
 builds/deprecated-msvc/properties/DebugSEXE.props  |   21 +
 builds/deprecated-msvc/properties/EXE.props        |   17 +
 builds/deprecated-msvc/properties/LIB.props        |   16 +
 builds/deprecated-msvc/properties/LTCG.props       |   13 +
 builds/deprecated-msvc/properties/Link.props       |   21 +
 builds/deprecated-msvc/properties/Messages.props   |   15 +
 builds/deprecated-msvc/properties/Output.props     |   30 +
 builds/deprecated-msvc/properties/Release.props    |   41 +
 .../deprecated-msvc/properties/ReleaseDEXE.props   |   20 +
 builds/deprecated-msvc/properties/ReleaseDLL.props |   19 +
 .../deprecated-msvc/properties/ReleaseLEXE.props   |   20 +
 builds/deprecated-msvc/properties/ReleaseLIB.props |   19 +
 .../deprecated-msvc/properties/ReleaseLTCG.props   |   19 +
 .../deprecated-msvc/properties/ReleaseSEXE.props   |   20 +
 builds/deprecated-msvc/properties/Win32.props      |   20 +
 builds/deprecated-msvc/properties/x64.props        |   23 +
 builds/deprecated-msvc/readme.txt                  |   27 +
 builds/deprecated-msvc/resource.h                  |   14 +
 builds/deprecated-msvc/resource.rc                 |  Bin 0 -> 4650 bytes
 .../vs2008/inproc_lat/inproc_lat.vcproj            |   52 +
 .../vs2008/inproc_thr/inproc_thr.vcproj            |   52 +
 builds/deprecated-msvc/vs2008/libzmq.sln           |   95 +
 builds/deprecated-msvc/vs2008/libzmq/libzmq.vcproj |  338 +++
 .../vs2008/local_lat/local_lat.vcproj              |   52 +
 .../vs2008/local_thr/local_thr.vcproj              |   52 +
 .../vs2008/remote_lat/remote_lat.vcproj            |   52 +
 .../vs2008/remote_thr/remote_thr.vcproj            |   52 +
 .../vs2010/inproc_lat/inproc_lat.props             |   49 +
 .../vs2010/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2010/inproc_thr/inproc_thr.props             |   49 +
 .../vs2010/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2010/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2010/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2010/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2010/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2010/libzmq.sln           |  206 ++
 builds/deprecated-msvc/vs2010/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2010/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2010/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2010/libzmq/libzmq.xml    |   40 +
 .../vs2010/local_lat/local_lat.props               |   49 +
 .../vs2010/local_lat/local_lat.vcxproj             |   82 +
 .../vs2010/local_thr/local_thr.props               |   49 +
 .../vs2010/local_thr/local_thr.vcxproj             |   82 +
 .../vs2010/remote_lat/remote_lat.props             |   49 +
 .../vs2010/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2010/remote_thr/remote_thr.props             |   49 +
 .../vs2010/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2012/inproc_lat/inproc_lat.props             |   49 +
 .../vs2012/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2012/inproc_thr/inproc_thr.props             |   49 +
 .../vs2012/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2012/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2012/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2012/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2012/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2012/libzmq.sln           |  206 ++
 builds/deprecated-msvc/vs2012/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2012/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2012/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2012/libzmq/libzmq.xml    |   40 +
 .../vs2012/local_lat/local_lat.props               |   49 +
 .../vs2012/local_lat/local_lat.vcxproj             |   82 +
 .../vs2012/local_thr/local_thr.props               |   49 +
 .../vs2012/local_thr/local_thr.vcxproj             |   82 +
 .../vs2012/remote_lat/remote_lat.props             |   49 +
 .../vs2012/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2012/remote_thr/remote_thr.props             |   49 +
 .../vs2012/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2013/inproc_lat/inproc_lat.props             |   49 +
 .../vs2013/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2013/inproc_thr/inproc_thr.props             |   49 +
 .../vs2013/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2013/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2013/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2013/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2013/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2013/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2013/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2013/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2013/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2013/libzmq/libzmq.xml    |   40 +
 .../vs2013/local_lat/local_lat.props               |   49 +
 .../vs2013/local_lat/local_lat.vcxproj             |   82 +
 .../vs2013/local_thr/local_thr.props               |   49 +
 .../vs2013/local_thr/local_thr.vcxproj             |   82 +
 .../vs2013/remote_lat/remote_lat.props             |   49 +
 .../vs2013/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2013/remote_thr/remote_thr.props             |   49 +
 .../vs2013/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2015/inproc_lat/inproc_lat.props             |   49 +
 .../vs2015/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2015/inproc_thr/inproc_thr.props             |   49 +
 .../vs2015/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2015/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2015/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2015/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2015/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2015/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2015/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2015/libzmq/libzmq.vcxproj   |  291 +++
 .../vs2015/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2015/libzmq/libzmq.xml    |   40 +
 .../vs2015/local_lat/local_lat.props               |   49 +
 .../vs2015/local_lat/local_lat.vcxproj             |   82 +
 .../vs2015/local_thr/local_thr.props               |   49 +
 .../vs2015/local_thr/local_thr.vcxproj             |   82 +
 .../vs2015/remote_lat/remote_lat.props             |   49 +
 .../vs2015/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2015/remote_thr/remote_thr.props             |   49 +
 .../vs2015/remote_thr/remote_thr.vcxproj           |   82 +
 builds/deprecated-msvc/vs2015_xp/libzmq.vcxproj    |  258 +++
 builds/deprecated-msvc/vs2015_xp/platform.hpp      |   15 +
 .../vs2015_xp/test_zmq/test_multithread.cpp        |  229 ++
 .../vs2015_xp/test_zmq/test_zmq.vcxproj            |  155 ++
 .../vs2017/inproc_lat/inproc_lat.props             |   49 +
 .../vs2017/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2017/inproc_thr/inproc_thr.props             |   49 +
 .../vs2017/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2017/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2017/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2017/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2017/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2017/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2017/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2017/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2017/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2017/libzmq/libzmq.xml    |   40 +
 .../vs2017/local_lat/local_lat.props               |   49 +
 .../vs2017/local_lat/local_lat.vcxproj             |   82 +
 .../vs2017/local_thr/local_thr.props               |   49 +
 .../vs2017/local_thr/local_thr.vcxproj             |   82 +
 .../vs2017/remote_lat/remote_lat.props             |   49 +
 .../vs2017/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2017/remote_thr/remote_thr.props             |   49 +
 .../vs2017/remote_thr/remote_thr.vcxproj           |   82 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 builds/gyp/project.gyp                             |  295 +++
 builds/mingw32/Makefile.mingw32                    |   49 +
 builds/mingw32/platform.hpp                        |   43 +
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   78 +
 ci_deploy.sh                                       |   33 +
 configure.ac                                       |  928 ++++++++
 doc/Makefile.am                                    |   65 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  108 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  123 ++
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  968 ++++++++
 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                               |   83 +
 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                               |  128 ++
 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_poller.txt                                 |  269 +++
 doc/zmq_poller_add.txt                             |    1 +
 doc/zmq_poller_add_fd.txt                          |    1 +
 doc/zmq_poller_destroy.txt                         |    1 +
 doc/zmq_poller_modify.txt                          |    1 +
 doc/zmq_poller_modify_fd.txt                       |    1 +
 doc/zmq_poller_new.txt                             |    1 +
 doc/zmq_poller_remove.txt                          |    1 +
 doc/zmq_poller_remove_fd.txt                       |    1 +
 doc/zmq_poller_wait_all.txt                        |    1 +
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  126 ++
 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                             | 1375 ++++++++++++
 doc/zmq_socket.txt                                 |  616 ++++++
 doc/zmq_socket_monitor.txt                         |  292 +++
 doc/zmq_socket_monitor_versioned.txt               |  311 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  142 ++
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_timers.txt                                 |  162 ++
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 external/wepoll/README.md                          |  202 ++
 external/wepoll/license.txt                        |   28 +
 external/wepoll/version.txt                        |    1 +
 external/wepoll/wepoll.c                           | 2186 ++++++++++++++++++
 external/wepoll/wepoll.h                           |  117 +
 include/zmq.h                                      |  749 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_check_vscript.m4                             |  142 ++
 m4/ax_code_coverage.m4                             |  264 +++
 m4/ax_cxx_compile_stdcxx.m4                        |  562 +++++
 m4/ax_cxx_compile_stdcxx_11.m4                     |   40 +
 m4/ax_func_posix_memalign.m4                       |   50 +
 m4/ax_valgrind_check.m4                            |  233 ++
 packaging/README                                   |    4 +
 packaging/debian/changelog                         |    5 +
 packaging/debian/compat                            |    1 +
 packaging/debian/control                           |   69 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  247 +++
 perf/benchmark_radix_tree.cpp                      |  123 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  124 ++
 src/address.hpp                                    |  141 ++
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  239 ++
 src/atomic_ptr.hpp                                 |  307 +++
 src/blob.hpp                                       |  204 ++
 src/client.cpp                                     |  113 +
 src/client.hpp                                     |   74 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   80 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  699 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  291 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  307 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  493 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  144 ++
 src/dealer.hpp                                     |   84 +
 src/decoder.hpp                                    |  194 ++
 src/decoder_allocators.cpp                         |  155 ++
 src/decoder_allocators.hpp                         |  133 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  169 ++
 src/dgram.hpp                                      |   75 +
 src/dish.cpp                                       |  351 +++
 src/dish.hpp                                       |  123 ++
 src/dist.cpp                                       |  232 ++
 src/dist.hpp                                       |  115 +
 src/encoder.hpp                                    |  181 ++
 src/endpoint.cpp                                   |   44 +
 src/endpoint.hpp                                   |   72 +
 src/epoll.cpp                                      |  218 ++
 src/epoll.hpp                                      |  118 +
 src/err.cpp                                        |  452 ++++
 src/err.hpp                                        |  181 ++
 src/fd.hpp                                         |   67 +
 src/fq.cpp                                         |  150 ++
 src/fq.hpp                                         |   85 +
 src/gather.cpp                                     |   91 +
 src/gather.hpp                                     |   67 +
 src/generic_mtrie.hpp                              |  127 ++
 src/generic_mtrie_impl.hpp                         |  475 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   70 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   93 +
 src/ip.cpp                                         |  670 ++++++
 src/ip.hpp                                         |   76 +
 src/ip_resolver.cpp                                |  718 ++++++
 src/ip_resolver.hpp                                |  116 +
 src/ipc_address.cpp                                |  119 +
 src/ipc_address.hpp                                |   70 +
 src/ipc_connecter.cpp                              |  171 ++
 src/ipc_connecter.hpp                              |   75 +
 src/ipc_listener.cpp                               |  389 ++++
 src/ipc_listener.hpp                               |   96 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  180 ++
 src/lb.hpp                                         |   86 +
 src/libzmq.pc.in                                   |   12 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   21 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  125 ++
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  360 +++
 src/mechanism.hpp                                  |  148 ++
 src/mechanism_base.cpp                             |   82 +
 src/mechanism_base.hpp                             |   56 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  606 +++++
 src/msg.hpp                                        |  305 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  717 ++++++
 src/norm_engine.hpp                                |  191 ++
 src/null_mechanism.cpp                             |  230 ++
 src/null_mechanism.hpp                             |   73 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1176 ++++++++++
 src/options.hpp                                    |  311 +++
 src/own.cpp                                        |  212 ++
 src/own.hpp                                        |  148 ++
 src/pair.cpp                                       |  138 ++
 src/pair.hpp                                       |   72 +
 src/pgm_receiver.cpp                               |  314 +++
 src/pgm_receiver.hpp                               |  145 ++
 src/pgm_sender.cpp                                 |  256 +++
 src/pgm_sender.hpp                                 |  124 ++
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  565 +++++
 src/pipe.hpp                                       |  262 +++
 src/plain_client.cpp                               |  224 ++
 src/plain_client.hpp                               |   73 +
 src/plain_common.hpp                               |   53 +
 src/plain_server.cpp                               |  253 +++
 src/plain_server.hpp                               |   66 +
 src/poll.cpp                                       |  204 ++
 src/poll.hpp                                       |  111 +
 src/poller.hpp                                     |   68 +
 src/poller_base.cpp                                |  140 ++
 src/poller_base.hpp                                |  196 ++
 src/polling_util.cpp                               |   51 +
 src/polling_util.hpp                               |  181 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  134 ++
 src/proxy.cpp                                      |  638 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   69 +
 src/pub.hpp                                        |   61 +
 src/pull.cpp                                       |   76 +
 src/pull.hpp                                       |   69 +
 src/push.cpp                                       |   80 +
 src/push.hpp                                       |   69 +
 src/radio.cpp                                      |  286 +++
 src/radio.hpp                                      |  115 +
 src/radix_tree.cpp                                 |  554 +++++
 src/radix_tree.hpp                                 |  147 ++
 src/random.cpp                                     |  170 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   69 +
 src/raw_encoder.cpp                                |   50 +
 src/raw_encoder.hpp                                |   57 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  333 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  523 +++++
 src/router.hpp                                     |  131 ++
 src/scatter.cpp                                    |   86 +
 src/scatter.hpp                                    |   69 +
 src/select.cpp                                     |  630 ++++++
 src/select.hpp                                     |  172 ++
 src/server.cpp                                     |  181 ++
 src/server.hpp                                     |   89 +
 src/session_base.cpp                               |  767 +++++++
 src/session_base.hpp                               |  197 ++
 src/signaler.cpp                                   |  413 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1936 ++++++++++++++++
 src/socket_base.hpp                                |  383 ++++
 src/socket_poller.cpp                              |  686 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  362 +++
 src/socks_connecter.hpp                            |  117 +
 src/stdint.hpp                                     |   80 +
 src/stream.cpp                                     |  291 +++
 src/stream.hpp                                     |   95 +
 src/stream_connecter_base.cpp                      |  179 ++
 src/stream_connecter_base.hpp                      |  125 ++
 src/stream_engine.cpp                              | 1256 +++++++++++
 src/stream_engine.hpp                              |  248 +++
 src/stream_listener_base.cpp                       |  123 ++
 src/stream_listener_base.hpp                       |   90 +
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  439 ++++
 src/tcp.hpp                                        |   87 +
 src/tcp_address.cpp                                |  359 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  304 +++
 src/tcp_connecter.hpp                              |   91 +
 src/tcp_listener.cpp                               |  271 +++
 src/tcp_listener.hpp                               |   72 +
 src/thread.cpp                                     |  329 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  184 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  171 ++
 src/tipc_address.hpp                               |   76 +
 src/tipc_connecter.cpp                             |  175 ++
 src/tipc_connecter.hpp                             |   76 +
 src/tipc_listener.cpp                              |  172 ++
 src/tipc_listener.hpp                              |   77 +
 src/trie.cpp                                       |  323 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   80 +
 src/udp_address.cpp                                |  208 ++
 src/udp_address.hpp                                |   73 +
 src/udp_engine.cpp                                 |  569 +++++
 src/udp_engine.hpp                                 |   74 +
 src/v1_decoder.cpp                                 |  156 ++
 src/v1_decoder.hpp                                 |   63 +
 src/v1_encoder.cpp                                 |   77 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  167 ++
 src/v2_decoder.hpp                                 |   71 +
 src/v2_encoder.cpp                                 |   80 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  300 +++
 src/vmci_connecter.hpp                             |  138 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   99 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |  103 +
 src/xpub.cpp                                       |  362 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  261 +++
 src/xsub.hpp                                       |  105 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  216 ++
 src/zap_client.cpp                                 |  314 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1454 ++++++++++++
 src/zmq_draft.h                                    |  133 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  248 +++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   74 +
 tests/test_address_tipc.cpp                        |  153 ++
 tests/test_ancillaries.cpp                         |   71 +
 tests/test_app_meta.cpp                            |  169 ++
 tests/test_atomics.cpp                             |   65 +
 tests/test_base85.cpp                              |  203 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   99 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  256 +++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  258 +++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  266 +++
 tests/test_dgram.cpp                               |  114 +
 tests/test_diffserv.cpp                            |   82 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  223 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  451 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  303 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  363 +++
 tests/test_invalid_rep.cpp                         |  101 +
 tests/test_iov.cpp                                 |  159 ++
 tests/test_ipc_wildcard.cpp                        |   71 +
 tests/test_issue_566.cpp                           |  108 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  102 +
 tests/test_metadata.cpp                            |  135 ++
 tests/test_mock_pub_sub.cpp                        |  226 ++
 tests/test_monitor.cpp                             |  251 +++
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   82 +
 tests/test_pair_ipc.cpp                            |   71 +
 tests/test_pair_tcp.cpp                            |  132 ++
 tests/test_pair_tipc.cpp                           |   70 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  662 ++++++
 tests/test_probe_router.cpp                        |  121 +
 tests/test_proxy.cpp                               |  501 +++++
 tests/test_proxy_hwm.cpp                           |  421 ++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  126 ++
 tests/test_radio_dish.cpp                          |  527 +++++
 tests/test_rebind_ipc.cpp                          |   79 +
 tests/test_reconnect_ivl.cpp                       |  124 ++
 tests/test_req_correlate.cpp                       |  132 ++
 tests/test_req_relaxed.cpp                         |  238 ++
 tests/test_reqrep_device.cpp                       |  135 ++
 tests/test_reqrep_device_tipc.cpp                  |  135 ++
 tests/test_reqrep_inproc.cpp                       |   66 +
 tests/test_reqrep_ipc.cpp                          |  100 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   70 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  171 ++
 tests/test_router_mandatory.cpp                    |  245 +++
 tests/test_router_mandatory_hwm.cpp                |  128 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_router_notify.cpp                       |  334 +++
 tests/test_scatter_gather.cpp                      |   97 +
 tests/test_security_curve.cpp                      |  657 ++++++
 tests/test_security_gssapi.cpp                     |  352 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  356 +++
 tests/test_setsockopt.cpp                          |  156 ++
 tests/test_shutdown_stress.cpp                     |   97 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |  114 +
 tests/test_spec_dealer.cpp                         |  235 ++
 tests/test_spec_pushpull.cpp                       |  426 ++++
 tests/test_spec_rep.cpp                            |  182 ++
 tests/test_spec_req.cpp                            |  270 +++
 tests/test_spec_router.cpp                         |  207 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  309 +++
 tests/test_stream_disconnect.cpp                   |  269 +++
 tests/test_stream_empty.cpp                        |   79 +
 tests/test_stream_exceeds_buffer.cpp               |  129 ++
 tests/test_stream_timeout.cpp                      |  205 ++
 tests/test_sub_forward.cpp                         |  101 +
 tests/test_sub_forward_tipc.cpp                    |  102 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  191 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   95 +
 tests/test_timers.cpp                              |  222 ++
 tests/test_unbind_wildcard.cpp                     |  211 ++
 tests/test_use_fd.cpp                              |  303 +++
 tests/test_xpub_manual.cpp                         |  457 ++++
 tests/test_xpub_nodrop.cpp                         |  118 +
 tests/test_xpub_verbose.cpp                        |  338 +++
 tests/test_xpub_welcome_msg.cpp                    |   83 +
 tests/test_zmq_poll_fd.cpp                         |  105 +
 tests/testutil.hpp                                 |  475 ++++
 tests/testutil_monitoring.hpp                      |  329 +++
 tests/testutil_security.hpp                        |  526 +++++
 tests/testutil_unity.hpp                           |  370 ++++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   68 +
 unittests/unittest_ip_resolver.cpp                 |  962 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  277 +++
 unittests/unittest_radix_tree.cpp                  |  290 +++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 867 files changed, 128706 insertions(+)

commit 4bdb05df78d6806daa8f0b84d2901e37d2ea5981
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Feb 7 14:53:48 2019 +0000

    Merge pull request #3400 from sigiesec/fix-issue-3397
    
    Add test for ZMQ_BINDTODEVICE

 .clang-format                                      |   53 +
 .clang-tidy                                        |  414 ++++
 .github/PULL_REQUEST_TEMPLATE.md                   |   48 +
 .github/issue_template.md                          |   22 +
 .github/stale.yml                                  |   19 +
 .gitignore                                         |  199 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  173 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1459 ++++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  304 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1161 ++++++++++
 NEWS                                               | 1886 ++++++++++++++++
 README.cygwin.md                                   |   15 +
 README.doxygen.md                                  |   48 +
 README.md                                          |  106 +
 RELICENSE/AndreLouisCaron.md                       |   15 +
 RELICENSE/Asmod4n.md                               |   13 +
 RELICENSE/BerndPrager.md                           |   13 +
 RELICENSE/BillTorpey.md                            |   16 +
 RELICENSE/Bklyn.md                                 |   15 +
 RELICENSE/BrianBuchanan.md                         |   15 +
 RELICENSE/ByronMallett.md                          |   15 +
 RELICENSE/ChristophSchulz.md                       |   15 +
 RELICENSE/ChuckRemes.md                            |   15 +
 RELICENSE/FabriceFontaine.md                       |   15 +
 RELICENSE/FrancescoMontorsi.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/WenbinHou.md                             |   15 +
 RELICENSE/abbradar.md                              |   16 +
 RELICENSE/agronholm.md                             |   15 +
 RELICENSE/amuraru.md                               |   15 +
 RELICENSE/answeroo.md                              |   15 +
 RELICENSE/antonrd.md                               |   17 +
 RELICENSE/arsenm.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/crocket.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/gabm.md                                  |   13 +
 RELICENSE/gena-moscow.md                           |   15 +
 RELICENSE/glemercier.md                            |   17 +
 RELICENSE/gonzus.md                                |   15 +
 RELICENSE/goodfella_ltd.md                         |   13 +
 RELICENSE/google.md                                |   13 +
 RELICENSE/guidovranken.md                          |   17 +
 RELICENSE/hgourvest.md                             |   13 +
 RELICENSE/hoditohod.md                             |   15 +
 RELICENSE/hpsaturn.md                              |    9 +
 RELICENSE/ianbarber.md                             |   15 +
 RELICENSE/imatix.md                                |   23 +
 RELICENSE/jacquesg.md                              |   17 +
 RELICENSE/jakecobb.md                              |   13 +
 RELICENSE/jcourreges.txt                           |   13 +
 RELICENSE/jeffbrubaker.md                          |   14 +
 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/kfish.md                                 |   17 +
 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/ojura.md                                 |    9 +
 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/simias.md                                |   15 +
 RELICENSE/soulik.md                                |   15 +
 RELICENSE/ssbl.md                                  |   17 +
 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/toonetown.md                             |   17 +
 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 +
 acinclude.m4                                       | 1191 ++++++++++
 appveyor.yml                                       |  246 +++
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |   14 +
 builds/abi-compliance-checker/ci_build.sh          |   40 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  320 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   48 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  313 +++
 builds/cmake/Modules/ZMQSupportMacros.cmake        |    5 +
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |  110 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  111 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/deprecated-msvc/.gitignore                  |  256 +++
 builds/deprecated-msvc/Makefile.am                 |   94 +
 builds/deprecated-msvc/build/build.bat             |   33 +
 builds/deprecated-msvc/build/buildall.bat          |   16 +
 builds/deprecated-msvc/build/buildbase.bat         |   73 +
 builds/deprecated-msvc/errno.cpp                   |   32 +
 builds/deprecated-msvc/errno.hpp                   |   56 +
 builds/deprecated-msvc/platform.hpp                |   14 +
 builds/deprecated-msvc/properties/Common.props     |   21 +
 builds/deprecated-msvc/properties/DLL.props        |   16 +
 builds/deprecated-msvc/properties/Debug.props      |   29 +
 builds/deprecated-msvc/properties/DebugDEXE.props  |   21 +
 builds/deprecated-msvc/properties/DebugDLL.props   |   20 +
 builds/deprecated-msvc/properties/DebugLEXE.props  |   20 +
 builds/deprecated-msvc/properties/DebugLIB.props   |   21 +
 builds/deprecated-msvc/properties/DebugLTCG.props  |   20 +
 builds/deprecated-msvc/properties/DebugSEXE.props  |   21 +
 builds/deprecated-msvc/properties/EXE.props        |   17 +
 builds/deprecated-msvc/properties/LIB.props        |   16 +
 builds/deprecated-msvc/properties/LTCG.props       |   13 +
 builds/deprecated-msvc/properties/Link.props       |   21 +
 builds/deprecated-msvc/properties/Messages.props   |   15 +
 builds/deprecated-msvc/properties/Output.props     |   30 +
 builds/deprecated-msvc/properties/Release.props    |   41 +
 .../deprecated-msvc/properties/ReleaseDEXE.props   |   20 +
 builds/deprecated-msvc/properties/ReleaseDLL.props |   19 +
 .../deprecated-msvc/properties/ReleaseLEXE.props   |   20 +
 builds/deprecated-msvc/properties/ReleaseLIB.props |   19 +
 .../deprecated-msvc/properties/ReleaseLTCG.props   |   19 +
 .../deprecated-msvc/properties/ReleaseSEXE.props   |   20 +
 builds/deprecated-msvc/properties/Win32.props      |   20 +
 builds/deprecated-msvc/properties/x64.props        |   23 +
 builds/deprecated-msvc/readme.txt                  |   27 +
 builds/deprecated-msvc/resource.h                  |   14 +
 builds/deprecated-msvc/resource.rc                 |  Bin 0 -> 4650 bytes
 .../vs2008/inproc_lat/inproc_lat.vcproj            |   52 +
 .../vs2008/inproc_thr/inproc_thr.vcproj            |   52 +
 builds/deprecated-msvc/vs2008/libzmq.sln           |   95 +
 builds/deprecated-msvc/vs2008/libzmq/libzmq.vcproj |  338 +++
 .../vs2008/local_lat/local_lat.vcproj              |   52 +
 .../vs2008/local_thr/local_thr.vcproj              |   52 +
 .../vs2008/remote_lat/remote_lat.vcproj            |   52 +
 .../vs2008/remote_thr/remote_thr.vcproj            |   52 +
 .../vs2010/inproc_lat/inproc_lat.props             |   49 +
 .../vs2010/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2010/inproc_thr/inproc_thr.props             |   49 +
 .../vs2010/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2010/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2010/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2010/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2010/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2010/libzmq.sln           |  206 ++
 builds/deprecated-msvc/vs2010/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2010/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2010/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2010/libzmq/libzmq.xml    |   40 +
 .../vs2010/local_lat/local_lat.props               |   49 +
 .../vs2010/local_lat/local_lat.vcxproj             |   82 +
 .../vs2010/local_thr/local_thr.props               |   49 +
 .../vs2010/local_thr/local_thr.vcxproj             |   82 +
 .../vs2010/remote_lat/remote_lat.props             |   49 +
 .../vs2010/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2010/remote_thr/remote_thr.props             |   49 +
 .../vs2010/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2012/inproc_lat/inproc_lat.props             |   49 +
 .../vs2012/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2012/inproc_thr/inproc_thr.props             |   49 +
 .../vs2012/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2012/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2012/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2012/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2012/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2012/libzmq.sln           |  206 ++
 builds/deprecated-msvc/vs2012/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2012/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2012/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2012/libzmq/libzmq.xml    |   40 +
 .../vs2012/local_lat/local_lat.props               |   49 +
 .../vs2012/local_lat/local_lat.vcxproj             |   82 +
 .../vs2012/local_thr/local_thr.props               |   49 +
 .../vs2012/local_thr/local_thr.vcxproj             |   82 +
 .../vs2012/remote_lat/remote_lat.props             |   49 +
 .../vs2012/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2012/remote_thr/remote_thr.props             |   49 +
 .../vs2012/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2013/inproc_lat/inproc_lat.props             |   49 +
 .../vs2013/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2013/inproc_thr/inproc_thr.props             |   49 +
 .../vs2013/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2013/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2013/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2013/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2013/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2013/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2013/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2013/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2013/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2013/libzmq/libzmq.xml    |   40 +
 .../vs2013/local_lat/local_lat.props               |   49 +
 .../vs2013/local_lat/local_lat.vcxproj             |   82 +
 .../vs2013/local_thr/local_thr.props               |   49 +
 .../vs2013/local_thr/local_thr.vcxproj             |   82 +
 .../vs2013/remote_lat/remote_lat.props             |   49 +
 .../vs2013/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2013/remote_thr/remote_thr.props             |   49 +
 .../vs2013/remote_thr/remote_thr.vcxproj           |   82 +
 .../vs2015/inproc_lat/inproc_lat.props             |   49 +
 .../vs2015/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2015/inproc_thr/inproc_thr.props             |   49 +
 .../vs2015/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2015/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2015/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2015/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2015/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2015/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2015/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2015/libzmq/libzmq.vcxproj   |  291 +++
 .../vs2015/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2015/libzmq/libzmq.xml    |   40 +
 .../vs2015/local_lat/local_lat.props               |   49 +
 .../vs2015/local_lat/local_lat.vcxproj             |   82 +
 .../vs2015/local_thr/local_thr.props               |   49 +
 .../vs2015/local_thr/local_thr.vcxproj             |   82 +
 .../vs2015/remote_lat/remote_lat.props             |   49 +
 .../vs2015/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2015/remote_thr/remote_thr.props             |   49 +
 .../vs2015/remote_thr/remote_thr.vcxproj           |   82 +
 builds/deprecated-msvc/vs2015_xp/libzmq.vcxproj    |  258 +++
 builds/deprecated-msvc/vs2015_xp/platform.hpp      |   15 +
 .../vs2015_xp/test_zmq/test_multithread.cpp        |  229 ++
 .../vs2015_xp/test_zmq/test_zmq.vcxproj            |  155 ++
 .../vs2017/inproc_lat/inproc_lat.props             |   49 +
 .../vs2017/inproc_lat/inproc_lat.vcxproj           |   82 +
 .../vs2017/inproc_thr/inproc_thr.props             |   49 +
 .../vs2017/inproc_thr/inproc_thr.vcxproj           |   82 +
 .../deprecated-msvc/vs2017/libsodium.import.props  |   52 +
 builds/deprecated-msvc/vs2017/libsodium.import.xml |   17 +
 builds/deprecated-msvc/vs2017/libzmq.import.props  |   64 +
 builds/deprecated-msvc/vs2017/libzmq.import.xml    |   49 +
 builds/deprecated-msvc/vs2017/libzmq.sln           |  208 ++
 builds/deprecated-msvc/vs2017/libzmq/libzmq.props  |   76 +
 .../deprecated-msvc/vs2017/libzmq/libzmq.vcxproj   |  289 +++
 .../vs2017/libzmq/libzmq.vcxproj.filters           |  627 ++++++
 builds/deprecated-msvc/vs2017/libzmq/libzmq.xml    |   40 +
 .../vs2017/local_lat/local_lat.props               |   49 +
 .../vs2017/local_lat/local_lat.vcxproj             |   82 +
 .../vs2017/local_thr/local_thr.props               |   49 +
 .../vs2017/local_thr/local_thr.vcxproj             |   82 +
 .../vs2017/remote_lat/remote_lat.props             |   49 +
 .../vs2017/remote_lat/remote_lat.vcxproj           |   82 +
 .../vs2017/remote_thr/remote_thr.props             |   49 +
 .../vs2017/remote_thr/remote_thr.vcxproj           |   82 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 builds/gyp/project.gyp                             |  295 +++
 builds/mingw32/Makefile.mingw32                    |   49 +
 builds/mingw32/platform.hpp                        |   43 +
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   78 +
 ci_deploy.sh                                       |   33 +
 configure.ac                                       |  928 ++++++++
 doc/Makefile.am                                    |   65 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  108 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  123 ++
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  968 ++++++++
 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                               |   83 +
 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                               |  128 ++
 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_poller.txt                                 |  269 +++
 doc/zmq_poller_add.txt                             |    1 +
 doc/zmq_poller_add_fd.txt                          |    1 +
 doc/zmq_poller_destroy.txt                         |    1 +
 doc/zmq_poller_modify.txt                          |    1 +
 doc/zmq_poller_modify_fd.txt                       |    1 +
 doc/zmq_poller_new.txt                             |    1 +
 doc/zmq_poller_remove.txt                          |    1 +
 doc/zmq_poller_remove_fd.txt                       |    1 +
 doc/zmq_poller_wait_all.txt                        |    1 +
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  126 ++
 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                             | 1375 ++++++++++++
 doc/zmq_socket.txt                                 |  616 ++++++
 doc/zmq_socket_monitor.txt                         |  292 +++
 doc/zmq_socket_monitor_versioned.txt               |  311 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  142 ++
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_timers.txt                                 |  162 ++
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 external/wepoll/README.md                          |  202 ++
 external/wepoll/license.txt                        |   28 +
 external/wepoll/version.txt                        |    1 +
 external/wepoll/wepoll.c                           | 2186 ++++++++++++++++++
 external/wepoll/wepoll.h                           |  117 +
 include/zmq.h                                      |  749 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_check_vscript.m4                             |  142 ++
 m4/ax_code_coverage.m4                             |  264 +++
 m4/ax_cxx_compile_stdcxx.m4                        |  562 +++++
 m4/ax_cxx_compile_stdcxx_11.m4                     |   40 +
 m4/ax_func_posix_memalign.m4                       |   50 +
 m4/ax_valgrind_check.m4                            |  233 ++
 packaging/README                                   |    4 +
 packaging/debian/changelog                         |    5 +
 packaging/debian/compat                            |    1 +
 packaging/debian/control                           |   69 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  247 +++
 perf/benchmark_radix_tree.cpp                      |  123 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  124 ++
 src/address.hpp                                    |  141 ++
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  239 ++
 src/atomic_ptr.hpp                                 |  307 +++
 src/blob.hpp                                       |  204 ++
 src/client.cpp                                     |  113 +
 src/client.hpp                                     |   74 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   80 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  699 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  291 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  307 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  493 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  144 ++
 src/dealer.hpp                                     |   84 +
 src/decoder.hpp                                    |  194 ++
 src/decoder_allocators.cpp                         |  155 ++
 src/decoder_allocators.hpp                         |  133 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  169 ++
 src/dgram.hpp                                      |   75 +
 src/dish.cpp                                       |  351 +++
 src/dish.hpp                                       |  123 ++
 src/dist.cpp                                       |  232 ++
 src/dist.hpp                                       |  115 +
 src/encoder.hpp                                    |  181 ++
 src/endpoint.cpp                                   |   44 +
 src/endpoint.hpp                                   |   72 +
 src/epoll.cpp                                      |  218 ++
 src/epoll.hpp                                      |  118 +
 src/err.cpp                                        |  452 ++++
 src/err.hpp                                        |  181 ++
 src/fd.hpp                                         |   67 +
 src/fq.cpp                                         |  150 ++
 src/fq.hpp                                         |   85 +
 src/gather.cpp                                     |   91 +
 src/gather.hpp                                     |   67 +
 src/generic_mtrie.hpp                              |  127 ++
 src/generic_mtrie_impl.hpp                         |  475 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   70 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   93 +
 src/ip.cpp                                         |  681 ++++++
 src/ip.hpp                                         |   76 +
 src/ip_resolver.cpp                                |  718 ++++++
 src/ip_resolver.hpp                                |  116 +
 src/ipc_address.cpp                                |  119 +
 src/ipc_address.hpp                                |   70 +
 src/ipc_connecter.cpp                              |  171 ++
 src/ipc_connecter.hpp                              |   75 +
 src/ipc_listener.cpp                               |  389 ++++
 src/ipc_listener.hpp                               |   96 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  180 ++
 src/lb.hpp                                         |   86 +
 src/libzmq.pc.in                                   |   12 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   21 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  125 ++
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  360 +++
 src/mechanism.hpp                                  |  148 ++
 src/mechanism_base.cpp                             |   82 +
 src/mechanism_base.hpp                             |   56 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  606 +++++
 src/msg.hpp                                        |  305 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  717 ++++++
 src/norm_engine.hpp                                |  191 ++
 src/null_mechanism.cpp                             |  230 ++
 src/null_mechanism.hpp                             |   73 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1176 ++++++++++
 src/options.hpp                                    |  311 +++
 src/own.cpp                                        |  212 ++
 src/own.hpp                                        |  148 ++
 src/pair.cpp                                       |  138 ++
 src/pair.hpp                                       |   72 +
 src/pgm_receiver.cpp                               |  314 +++
 src/pgm_receiver.hpp                               |  145 ++
 src/pgm_sender.cpp                                 |  256 +++
 src/pgm_sender.hpp                                 |  124 ++
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  565 +++++
 src/pipe.hpp                                       |  262 +++
 src/plain_client.cpp                               |  224 ++
 src/plain_client.hpp                               |   73 +
 src/plain_common.hpp                               |   53 +
 src/plain_server.cpp                               |  253 +++
 src/plain_server.hpp                               |   66 +
 src/poll.cpp                                       |  204 ++
 src/poll.hpp                                       |  111 +
 src/poller.hpp                                     |   68 +
 src/poller_base.cpp                                |  140 ++
 src/poller_base.hpp                                |  196 ++
 src/polling_util.cpp                               |   51 +
 src/polling_util.hpp                               |  181 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  134 ++
 src/proxy.cpp                                      |  638 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   69 +
 src/pub.hpp                                        |   61 +
 src/pull.cpp                                       |   76 +
 src/pull.hpp                                       |   69 +
 src/push.cpp                                       |   80 +
 src/push.hpp                                       |   69 +
 src/radio.cpp                                      |  286 +++
 src/radio.hpp                                      |  115 +
 src/radix_tree.cpp                                 |  554 +++++
 src/radix_tree.hpp                                 |  147 ++
 src/random.cpp                                     |  170 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   69 +
 src/raw_encoder.cpp                                |   50 +
 src/raw_encoder.hpp                                |   57 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  333 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  523 +++++
 src/router.hpp                                     |  131 ++
 src/scatter.cpp                                    |   86 +
 src/scatter.hpp                                    |   69 +
 src/select.cpp                                     |  630 ++++++
 src/select.hpp                                     |  172 ++
 src/server.cpp                                     |  181 ++
 src/server.hpp                                     |   89 +
 src/session_base.cpp                               |  767 +++++++
 src/session_base.hpp                               |  197 ++
 src/signaler.cpp                                   |  413 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1936 ++++++++++++++++
 src/socket_base.hpp                                |  383 ++++
 src/socket_poller.cpp                              |  686 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  362 +++
 src/socks_connecter.hpp                            |  117 +
 src/stdint.hpp                                     |   80 +
 src/stream.cpp                                     |  291 +++
 src/stream.hpp                                     |   95 +
 src/stream_connecter_base.cpp                      |  179 ++
 src/stream_connecter_base.hpp                      |  125 ++
 src/stream_engine.cpp                              | 1256 +++++++++++
 src/stream_engine.hpp                              |  248 +++
 src/stream_listener_base.cpp                       |  123 ++
 src/stream_listener_base.hpp                       |   90 +
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  451 ++++
 src/tcp.hpp                                        |   87 +
 src/tcp_address.cpp                                |  359 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  304 +++
 src/tcp_connecter.hpp                              |   91 +
 src/tcp_listener.cpp                               |  271 +++
 src/tcp_listener.hpp                               |   72 +
 src/thread.cpp                                     |  329 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  184 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  171 ++
 src/tipc_address.hpp                               |   76 +
 src/tipc_connecter.cpp                             |  175 ++
 src/tipc_connecter.hpp                             |   76 +
 src/tipc_listener.cpp                              |  172 ++
 src/tipc_listener.hpp                              |   77 +
 src/trie.cpp                                       |  323 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   80 +
 src/udp_address.cpp                                |  208 ++
 src/udp_address.hpp                                |   73 +
 src/udp_engine.cpp                                 |  569 +++++
 src/udp_engine.hpp                                 |   74 +
 src/v1_decoder.cpp                                 |  156 ++
 src/v1_decoder.hpp                                 |   63 +
 src/v1_encoder.cpp                                 |   77 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  167 ++
 src/v2_decoder.hpp                                 |   71 +
 src/v2_encoder.cpp                                 |   80 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  300 +++
 src/vmci_connecter.hpp                             |  138 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   99 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |  103 +
 src/xpub.cpp                                       |  362 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  261 +++
 src/xsub.hpp                                       |  105 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  216 ++
 src/zap_client.cpp                                 |  314 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1454 ++++++++++++
 src/zmq_draft.h                                    |  133 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  262 +++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   74 +
 tests/test_address_tipc.cpp                        |  153 ++
 tests/test_ancillaries.cpp                         |   71 +
 tests/test_app_meta.cpp                            |  169 ++
 tests/test_atomics.cpp                             |   65 +
 tests/test_base85.cpp                              |  203 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   99 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  256 +++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  258 +++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  266 +++
 tests/test_dgram.cpp                               |  114 +
 tests/test_diffserv.cpp                            |   82 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  223 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  451 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  303 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  363 +++
 tests/test_invalid_rep.cpp                         |  101 +
 tests/test_iov.cpp                                 |  159 ++
 tests/test_ipc_wildcard.cpp                        |   71 +
 tests/test_issue_566.cpp                           |  108 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  102 +
 tests/test_metadata.cpp                            |  135 ++
 tests/test_mock_pub_sub.cpp                        |  226 ++
 tests/test_monitor.cpp                             |  251 +++
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   82 +
 tests/test_pair_ipc.cpp                            |   71 +
 tests/test_pair_tcp.cpp                            |  132 ++
 tests/test_pair_tcp_cap_net_admin.cpp              |   89 +
 tests/test_pair_tipc.cpp                           |   70 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  662 ++++++
 tests/test_probe_router.cpp                        |  121 +
 tests/test_proxy.cpp                               |  501 +++++
 tests/test_proxy_hwm.cpp                           |  421 ++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  126 ++
 tests/test_radio_dish.cpp                          |  527 +++++
 tests/test_rebind_ipc.cpp                          |   79 +
 tests/test_reconnect_ivl.cpp                       |  124 ++
 tests/test_req_correlate.cpp                       |  132 ++
 tests/test_req_relaxed.cpp                         |  238 ++
 tests/test_reqrep_device.cpp                       |  135 ++
 tests/test_reqrep_device_tipc.cpp                  |  135 ++
 tests/test_reqrep_inproc.cpp                       |   66 +
 tests/test_reqrep_ipc.cpp                          |  100 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   70 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  171 ++
 tests/test_router_mandatory.cpp                    |  245 +++
 tests/test_router_mandatory_hwm.cpp                |  128 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_router_notify.cpp                       |  334 +++
 tests/test_scatter_gather.cpp                      |   97 +
 tests/test_security_curve.cpp                      |  657 ++++++
 tests/test_security_gssapi.cpp                     |  352 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  356 +++
 tests/test_setsockopt.cpp                          |  156 ++
 tests/test_shutdown_stress.cpp                     |   97 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |  114 +
 tests/test_spec_dealer.cpp                         |  235 ++
 tests/test_spec_pushpull.cpp                       |  426 ++++
 tests/test_spec_rep.cpp                            |  182 ++
 tests/test_spec_req.cpp                            |  270 +++
 tests/test_spec_router.cpp                         |  207 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  309 +++
 tests/test_stream_disconnect.cpp                   |  269 +++
 tests/test_stream_empty.cpp                        |   79 +
 tests/test_stream_exceeds_buffer.cpp               |  129 ++
 tests/test_stream_timeout.cpp                      |  205 ++
 tests/test_sub_forward.cpp                         |  101 +
 tests/test_sub_forward_tipc.cpp                    |  102 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  191 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   95 +
 tests/test_timers.cpp                              |  222 ++
 tests/test_unbind_wildcard.cpp                     |  211 ++
 tests/test_use_fd.cpp                              |  303 +++
 tests/test_xpub_manual.cpp                         |  457 ++++
 tests/test_xpub_nodrop.cpp                         |  118 +
 tests/test_xpub_verbose.cpp                        |  338 +++
 tests/test_xpub_welcome_msg.cpp                    |   83 +
 tests/test_zmq_poll_fd.cpp                         |  105 +
 tests/testutil.hpp                                 |  475 ++++
 tests/testutil_monitoring.hpp                      |  329 +++
 tests/testutil_security.hpp                        |  526 +++++
 tests/testutil_unity.hpp                           |  370 ++++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   68 +
 unittests/unittest_ip_resolver.cpp                 |  962 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  277 +++
 unittests/unittest_radix_tree.cpp                  |  290 +++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 868 files changed, 128833 insertions(+)

commit fae88633d7b0323507d8b851ddd22a0eed2c145b
Merge: 79d5ac3 37344d0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat May 26 12:08:12 2018 +0100

    Merge pull request #3138 from sigiesec/fix-various-style-issues
    
    Fix various code style issues

commit 37344d0b7c09efa414e4646f61a1edfb77eae85c
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 25 23:14:43 2018 +0200

    Problem: redundant old-style void argument declarations
    
    Solution: remove

 src/err.cpp           | 2 +-
 src/err.hpp           | 2 +-
 src/random.cpp        | 4 ++--
 src/router.cpp        | 2 +-
 src/socket_poller.hpp | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

commit 12a97bb769b4a0c8cfe2445a36cd4732e6ef3a05
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 25 23:10:10 2018 +0200

    Problem: redundant else after return
    
    Solution: remove else

 src/curve_client.cpp       |   2 +-
 src/dish.cpp               | 100 ++++++++++++++++++++++-----------------------
 src/generic_mtrie_impl.hpp |  13 +++---
 src/ip.cpp                 |  20 ++++-----
 src/ip_resolver.cpp        |  11 ++---
 src/metadata.cpp           |   4 +-
 src/msg.cpp                |   4 +-
 src/null_mechanism.cpp     |  10 ++---
 src/options.cpp            |   6 ++-
 src/pipe.cpp               |   2 +-
 src/plain_client.cpp       |   2 +-
 src/radio.cpp              |  11 +++--
 src/router.cpp             |  56 ++++++++++++-------------
 src/select.cpp             |  17 ++++----
 src/socks.cpp              |  19 ++++-----
 src/stream_engine.cpp      |   3 +-
 src/tcp_address.cpp        |   8 ++--
 src/timers.cpp             |   4 +-
 src/trie.cpp               |  15 ++++---
 src/xsub.cpp               |   3 +-
 src/zap_client.cpp         |   2 +-
 src/zmq.cpp                |   7 ++--
 22 files changed, 155 insertions(+), 164 deletions(-)

commit 21498700ef6a2424f542325c2433f6445853e4f7
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 25 23:03:52 2018 +0200

    Problem: integer literals assigned to bool variables
    
    Solution: replace by bool literals

 src/lb.cpp           | 2 +-
 src/options.cpp      | 2 +-
 src/session_base.cpp | 4 ++--
 src/xpub.cpp         | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

commit eacc805646daffb9a3a994ef87d654b1c201ccb4
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 25 22:59:13 2018 +0200

    Problem: complex unnecessary ternary expressions
    
    Solution: simplify to comparison against 0

 src/dist.cpp         | 2 +-
 src/fq.cpp           | 2 +-
 src/lb.cpp           | 4 ++--
 src/pipe.cpp         | 2 +-
 src/router.cpp       | 6 +++---
 src/session_base.cpp | 2 +-
 src/socket_base.cpp  | 2 +-
 src/xpub.cpp         | 2 +-
 src/xsub.cpp         | 4 ++--
 9 files changed, 13 insertions(+), 13 deletions(-)

commit 1432011277d3201f5d53a0d5a17c0b175d7e35eb
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 25 22:41:05 2018 +0200

    Problem: inconsistent local variable naming
    
    Solution: configured clang-tidy check and applied fixes

 .clang-tidy       | 24 ++++++++++++------------
 src/clock.cpp     |  6 +++---
 src/ctx.cpp       |  4 ++--
 src/dealer.cpp    |  8 ++++----
 src/router.cpp    |  8 ++++----
 src/tcp.cpp       |  8 ++++----
 src/zmq_utils.cpp |  6 +++---
 7 files changed, 32 insertions(+), 32 deletions(-)

commit c581f43c977f8776a56d20b7654260928e4c16b8
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 17:58:30 2018 +0200

    Problem: parameter naming style inconsistent
    
    Solution: define and apply parameter naming style: lower_case_

 .clang-tidy                |  10 +--
 include/zmq.h              | 124 +++++++++++++++++----------------
 src/atomic_counter.hpp     |  25 +++----
 src/atomic_ptr.hpp         |   4 +-
 src/blob.hpp               |  69 +++++++++---------
 src/client.hpp             |   2 +-
 src/ctx.cpp                |  26 +++----
 src/ctx.hpp                |   2 +-
 src/curve_client.cpp       |  32 ++++-----
 src/curve_client.hpp       |   6 +-
 src/curve_client_tools.hpp | 170 +++++++++++++++++++++++----------------------
 src/curve_server.cpp       |   5 +-
 src/curve_server.hpp       |   2 +-
 src/dbuffer.hpp            |   4 +-
 src/dealer.hpp             |   2 +-
 src/decoder.hpp            |   4 +-
 src/decoder_allocators.cpp |  10 +--
 src/decoder_allocators.hpp |   8 +--
 src/dgram.hpp              |   2 +-
 src/err.cpp                |   8 +--
 src/err.hpp                |   4 +-
 src/i_decoder.hpp          |   2 +-
 src/i_encoder.hpp          |   2 +-
 src/ip.cpp                 |  18 ++---
 src/ip.hpp                 |   4 +-
 src/ip_resolver.cpp        |  29 ++++----
 src/ip_resolver.hpp        |   6 +-
 src/mailbox_safe.cpp       |   8 +--
 src/mailbox_safe.hpp       |   4 +-
 src/mechanism.cpp          |  73 +++++++++----------
 src/mechanism.hpp          |  29 ++++----
 src/mechanism_base.cpp     |  12 ++--
 src/mechanism_base.hpp     |   4 +-
 src/metadata.cpp           |   8 +--
 src/metadata.hpp           |   4 +-
 src/msg.cpp                |  11 +--
 src/msg.hpp                |  22 +++---
 src/null_mechanism.cpp     |  18 ++---
 src/null_mechanism.hpp     |   8 ++-
 src/object.cpp             |   4 +-
 src/object.hpp             |   4 +-
 src/options.cpp            |   8 +--
 src/options.hpp            |   2 +-
 src/pair.hpp               |   2 +-
 src/plain_client.cpp       |  26 +++----
 src/plain_client.hpp       |   6 +-
 src/plain_server.cpp       |  10 +--
 src/plain_server.hpp       |   4 +-
 src/proxy.cpp              |  45 ++++++------
 src/random.cpp             |   6 +-
 src/raw_decoder.hpp        |   2 +-
 src/rep.hpp                |   2 +-
 src/req.cpp                |   6 +-
 src/router.hpp             |   4 +-
 src/select.cpp             |  14 ++--
 src/select.hpp             |   6 +-
 src/server.hpp             |   2 +-
 src/session_base.cpp       |  10 +--
 src/session_base.hpp       |   2 +-
 src/socket_base.cpp        |   4 +-
 src/socket_base.hpp        |  16 ++---
 src/socket_poller.cpp      |  42 +++++------
 src/socket_poller.hpp      |  30 ++++----
 src/socks.cpp              |  18 ++---
 src/socks.hpp              |   4 +-
 src/socks_connecter.cpp    |   8 +--
 src/socks_connecter.hpp    |   4 +-
 src/stream.hpp             |   2 +-
 src/stream_engine.cpp      |  14 ++--
 src/stream_engine.hpp      |  22 +++---
 src/tcp_address.cpp        |  41 +++++------
 src/tcp_address.hpp        |   6 +-
 src/tcp_connecter.cpp      |   8 +--
 src/tcp_connecter.hpp      |   2 +-
 src/thread.cpp             |   4 +-
 src/thread.hpp             |   2 +-
 src/timers.cpp             |   4 +-
 src/timers.hpp             |  10 +--
 src/tweetnacl.h            |  20 +++---
 src/udp_engine.cpp         |  12 ++--
 src/udp_engine.hpp         |   2 +-
 src/v2_decoder.cpp         |  24 +++----
 src/wire.hpp               |  38 +++++-----
 src/ypipe.hpp              |   4 +-
 src/ypipe_base.hpp         |   2 +-
 src/ypipe_conflate.hpp     |   2 +-
 src/zap_client.cpp         |  36 +++++-----
 src/zap_client.hpp         |  20 +++---
 src/zmq.cpp                |  24 +++----
 src/zmq_draft.h            |  70 ++++++++++---------
 src/zmq_utils.cpp          |  52 +++++++-------
 91 files changed, 759 insertions(+), 734 deletions(-)

commit 79d5ac3deeb944c9fd8a7a7a20a8b973d119fa5e
Merge: 50374bf 7637609
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri May 25 15:57:45 2018 +0100

    Merge pull request #3135 from sigiesec/fix-heartbeat-ttl-max
    
    Fix ZMQ_HEARTBEAT_TTL maximum value check

commit 763760988f56865203ca733f825e4944856159c9
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 25 13:32:07 2018 +0200

    Problem: VS2008 has no definition of UINT16_MAX
    
    Solution: provide definition based on _UI16_MAX

 src/stdint.hpp | 3 +++
 1 file changed, 3 insertions(+)

commit 8b030a92564829e69b92f8cc20bd20fc7cec713c
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 25 11:02:06 2018 +0200

    Problem: no tests for corner cases of setsockopt ZMQ_HEARTBEAT_TTL
    
    Solution: added tests

 tests/test_heartbeats.cpp | 54 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

commit d90e70c1cf681c3a8dfe0c1bfe9cab8f3f341096
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 25 10:50:47 2018 +0200

    Problem: maximum allowed value for ZMQ_HEARTBEAT_TTL is wrong
    
    Solution: use UINT16_MAX

 doc/zmq_setsockopt.txt | 1 +
 src/options.cpp        | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 50374bf6f534f181302c5fa1152c189ec5a0784c
Merge: f0f029c b791645
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 24 17:05:24 2018 +0100

    Merge pull request #3134 from sigiesec/fix-sonarcloud-component-name
    
    Fix sonarcloud component name

commit b791645a49f3c72fda8f0741714472801fe852bf
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 18:03:05 2018 +0200

    Problem: project key is not unique across organizations
    
    Solution: prefix project key with repo name

 builds/cmake/ci_build.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f0f029c5496a6149d275009449d3146080007236
Merge: 653c207 7b68690
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 24 17:02:57 2018 +0100

    Merge pull request #3132 from sigiesec/add-vs2008-vs2010-ci
    
    Add CI for VS2008 and VS2010 and fix their builds

commit 653c2073dee300b8a27e7f232d0c95275e8a6801
Merge: 1644d16 cf41aed
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 17:08:34 2018 +0200

    Merge pull request #3133 from bluca/sonarqube_token
    
    Problem: missing sonarqube token

commit cf41aed29de5a880fe212df143e9a87fbe7b5d9f
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 24 16:06:08 2018 +0100

    Problem: missing sonarqube token
    
    Solution: add it

 .travis.yml | 1 +
 1 file changed, 1 insertion(+)

commit 1644d162fb814ace8735fdcce97471bbc93be80f
Merge: edd9a0c 6afa1ce
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 24 16:04:31 2018 +0100

    Merge pull request #3115 from sigiesec/analyze
    
    Add static analysis

commit 6afa1cee3a0756d3e81f33bf39e74a7d133f2158
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 13:42:09 2018 +0200

    Problem: travis-ci analysis build is always run
    
    Solution: configure to run only on scheduled runs or on specifically named branches

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

commit 51fd4b6a9db8372bccfb37cc1327cea3e73c7e99
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 11:56:09 2018 +0200

    Problem: analysis build on PR virtual merges
    
    Solution: skip analysis build in install stage

 appveyor.yml | 1 +
 1 file changed, 1 insertion(+)

commit 100745d3126fe677aef884145ddedb51161a5b29
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 09:44:52 2018 +0200

    Problem: appveyor analysis runs on all branches
    
    Solution: restrict to specific branches

 appveyor.yml | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

commit 51d4b001961310902a494653b6a3158a4d3eba1a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 17 08:37:23 2018 +0200

    Problem: no clang-tidy configuration
    
    Solution: add initial .clang-tidy config file

 .clang-tidy | 407 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 407 insertions(+)

commit 7b686900f9c565ed7f587f0a06d68faf232925b9
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 14:10:26 2018 +0200

    Problem: VS2008 build fails due to unavailable stdint.h
    
    Solution: specify not to use stdint.h for VS<=2008, fixes #3025

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

commit 1e89a517343e7f55556b4cf5ee8c2342100a03a4
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 14:08:29 2018 +0200

    Problem: broken indentation
    
    Solution: fix indentation

 tests/CMakeLists.txt | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

commit 2ae0c4e2c502f4fa91fbc431a24deb69925edd4f
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 09:25:01 2018 +0200

    Problem: unnecessarily complex inheritance hierarchy in decoders, warning C4355 with VS2010
    
    Solution: make allocator a member of decoder_base_t

 src/decoder.hpp    | 20 +++++++++++---------
 src/v1_decoder.cpp |  3 +--
 src/v1_decoder.hpp |  3 +--
 src/v2_decoder.cpp | 23 ++++++++++++-----------
 src/v2_decoder.hpp |  6 ++----
 5 files changed, 27 insertions(+), 28 deletions(-)

commit d96a0301255b13bf08df828a335ded29f41bc56b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 16:07:22 2018 +0200

    Problem: no CI builds for VS2008/VS2010
    
    Solution: add to appveyor jobs

 appveyor.yml | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

commit 4d3516f634a4a5e3f522f5cb277da38b188d32eb
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed May 16 09:45:52 2018 +0200

    Problem: no static analysis under Linux
    
    Solution: activate clang-tidy, scan-build and sonar-scanner

 .travis.yml              | 20 +++++++++++++++++
 builds/cmake/ci_build.sh | 58 +++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 73 insertions(+), 5 deletions(-)

commit 2b31e50b013cc33cc235ed735c591c83aabcbe0d
Author: Simon Giesecke <simon.giesecke@gmail.com>
Date:   Wed May 16 09:12:26 2018 +0200

    Problem: No static analysis under Windows
    
    Solution: Enable VS static analyzer and core guideline checks

 CMakeLists.txt | 34 +++++++++++++++++++++++++++++++++-
 appveyor.yml   | 35 ++++++++++++++++++++++++++++++++++-
 2 files changed, 67 insertions(+), 2 deletions(-)

commit edd9a0c5c88403f30570f0358d2e4c7ce7007987
Merge: f3e7911 b6d36c9
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 24 09:22:26 2018 +0100

    Merge pull request #3130 from sigiesec/fix-automake
    
    Problem: autotools build broken

commit b6d36c92a287fe4c493c1298ece71c85a8e649f7
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 24 08:59:30 2018 +0200

    Problem: autotools build broken
    
    Solution: fix directory reference

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

commit f3e7911dd6673dfe98ddfde0d6284a92f67351ee
Merge: a6cfbca 06e0c07
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed May 23 21:15:56 2018 +0100

    Merge pull request #3127 from sigiesec/integrate-wepoll
    
    Support epoll polling under Windows with wepoll

commit a6cfbca3ac029e38185691fc6186c16a9cf3b1df
Merge: 0139582 64f2b10
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed May 23 18:47:07 2018 +0100

    Merge pull request #3128 from sigiesec/fix-test-inproc-connect
    
    Problem: test_context_socket is not thread-safe

commit 06e0c0776d0499cc6d82d2bf57b11e6dc1be1dd5
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 16:47:13 2018 +0200

    Problem: cmake run is very slow with MSVC
    
    Solution: skip tests than can never succeed with MSVC

 CMakeLists.txt | 172 ++++++++++++++++++++++++++++++---------------------------
 1 file changed, 91 insertions(+), 81 deletions(-)

commit 013958299b33f58a18c4811dc0f8c5a1aac40732
Merge: b56e7f1 af6d70e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed May 23 16:47:08 2018 +0100

    Merge pull request #3129 from sigiesec/deprecate-msvc-sln-builds
    
    Problem: prepared Visual Studio solution files are hard to maintain and redundant with CMake builds

commit 64f2b100da3387c59921e08104c6ded29bfafdc8
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 17:32:27 2018 +0200

    Problem: test_context_socket is not thread-safe
    
    Solution: use regular zmq_socket instead in thread functions

 tests/test_inproc_connect.cpp | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

commit af6d70ec7226045c44509af4488ff008f4b4184f
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 17:26:28 2018 +0200

    Problem: prepared Visual Studio solution files are hard to maintain and redundant with CMake builds
    
    Solution: declare them as deprecated

 builds/README                                               |  10 ++++++++++
 builds/{msvc => deprecated-msvc}/.gitignore                 |   0
 builds/{msvc => deprecated-msvc}/Makefile.am                |   0
 builds/{msvc => deprecated-msvc}/build/build.bat            |   0
 builds/{msvc => deprecated-msvc}/build/buildall.bat         |   0
 builds/{msvc => deprecated-msvc}/build/buildbase.bat        |   0
 builds/{msvc => deprecated-msvc}/errno.cpp                  |   0
 builds/{msvc => deprecated-msvc}/errno.hpp                  |   0
 builds/{msvc => deprecated-msvc}/platform.hpp               |   0
 builds/{msvc => deprecated-msvc}/properties/Common.props    |   0
 builds/{msvc => deprecated-msvc}/properties/DLL.props       |   0
 builds/{msvc => deprecated-msvc}/properties/Debug.props     |   0
 builds/{msvc => deprecated-msvc}/properties/DebugDEXE.props |   0
 builds/{msvc => deprecated-msvc}/properties/DebugDLL.props  |   0
 builds/{msvc => deprecated-msvc}/properties/DebugLEXE.props |   0
 builds/{msvc => deprecated-msvc}/properties/DebugLIB.props  |   0
 builds/{msvc => deprecated-msvc}/properties/DebugLTCG.props |   0
 builds/{msvc => deprecated-msvc}/properties/DebugSEXE.props |   0
 builds/{msvc => deprecated-msvc}/properties/EXE.props       |   0
 builds/{msvc => deprecated-msvc}/properties/LIB.props       |   0
 builds/{msvc => deprecated-msvc}/properties/LTCG.props      |   0
 builds/{msvc => deprecated-msvc}/properties/Link.props      |   0
 builds/{msvc => deprecated-msvc}/properties/Messages.props  |   0
 builds/{msvc => deprecated-msvc}/properties/Output.props    |   0
 builds/{msvc => deprecated-msvc}/properties/Release.props   |   0
 .../{msvc => deprecated-msvc}/properties/ReleaseDEXE.props  |   0
 .../{msvc => deprecated-msvc}/properties/ReleaseDLL.props   |   0
 .../{msvc => deprecated-msvc}/properties/ReleaseLEXE.props  |   0
 .../{msvc => deprecated-msvc}/properties/ReleaseLIB.props   |   0
 .../{msvc => deprecated-msvc}/properties/ReleaseLTCG.props  |   0
 .../{msvc => deprecated-msvc}/properties/ReleaseSEXE.props  |   0
 builds/{msvc => deprecated-msvc}/properties/Win32.props     |   0
 builds/{msvc => deprecated-msvc}/properties/x64.props       |   0
 builds/{msvc => deprecated-msvc}/readme.txt                 |   0
 builds/{msvc => deprecated-msvc}/resource.h                 |   0
 builds/{msvc => deprecated-msvc}/resource.rc                | Bin
 .../vs2008/inproc_lat/inproc_lat.vcproj                     |   0
 .../vs2008/inproc_thr/inproc_thr.vcproj                     |   0
 builds/{msvc => deprecated-msvc}/vs2008/libzmq.sln          |   0
 .../{msvc => deprecated-msvc}/vs2008/libzmq/libzmq.vcproj   |   0
 .../vs2008/local_lat/local_lat.vcproj                       |   0
 .../vs2008/local_thr/local_thr.vcproj                       |   0
 .../vs2008/remote_lat/remote_lat.vcproj                     |   0
 .../vs2008/remote_thr/remote_thr.vcproj                     |   0
 .../vs2010/inproc_lat/inproc_lat.props                      |   0
 .../vs2010/inproc_lat/inproc_lat.vcxproj                    |   0
 .../vs2010/inproc_thr/inproc_thr.props                      |   0
 .../vs2010/inproc_thr/inproc_thr.vcxproj                    |   0
 .../{msvc => deprecated-msvc}/vs2010/libsodium.import.props |   0
 .../{msvc => deprecated-msvc}/vs2010/libsodium.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2010/libzmq.import.props |   0
 builds/{msvc => deprecated-msvc}/vs2010/libzmq.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2010/libzmq.sln          |   0
 builds/{msvc => deprecated-msvc}/vs2010/libzmq/libzmq.props |   0
 .../{msvc => deprecated-msvc}/vs2010/libzmq/libzmq.vcxproj  |   0
 .../vs2010/libzmq/libzmq.vcxproj.filters                    |   0
 builds/{msvc => deprecated-msvc}/vs2010/libzmq/libzmq.xml   |   0
 .../vs2010/local_lat/local_lat.props                        |   0
 .../vs2010/local_lat/local_lat.vcxproj                      |   0
 .../vs2010/local_thr/local_thr.props                        |   0
 .../vs2010/local_thr/local_thr.vcxproj                      |   0
 .../vs2010/remote_lat/remote_lat.props                      |   0
 .../vs2010/remote_lat/remote_lat.vcxproj                    |   0
 .../vs2010/remote_thr/remote_thr.props                      |   0
 .../vs2010/remote_thr/remote_thr.vcxproj                    |   0
 .../vs2012/inproc_lat/inproc_lat.props                      |   0
 .../vs2012/inproc_lat/inproc_lat.vcxproj                    |   0
 .../vs2012/inproc_thr/inproc_thr.props                      |   0
 .../vs2012/inproc_thr/inproc_thr.vcxproj                    |   0
 .../{msvc => deprecated-msvc}/vs2012/libsodium.import.props |   0
 .../{msvc => deprecated-msvc}/vs2012/libsodium.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2012/libzmq.import.props |   0
 builds/{msvc => deprecated-msvc}/vs2012/libzmq.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2012/libzmq.sln          |   0
 builds/{msvc => deprecated-msvc}/vs2012/libzmq/libzmq.props |   0
 .../{msvc => deprecated-msvc}/vs2012/libzmq/libzmq.vcxproj  |   0
 .../vs2012/libzmq/libzmq.vcxproj.filters                    |   0
 builds/{msvc => deprecated-msvc}/vs2012/libzmq/libzmq.xml   |   0
 .../vs2012/local_lat/local_lat.props                        |   0
 .../vs2012/local_lat/local_lat.vcxproj                      |   0
 .../vs2012/local_thr/local_thr.props                        |   0
 .../vs2012/local_thr/local_thr.vcxproj                      |   0
 .../vs2012/remote_lat/remote_lat.props                      |   0
 .../vs2012/remote_lat/remote_lat.vcxproj                    |   0
 .../vs2012/remote_thr/remote_thr.props                      |   0
 .../vs2012/remote_thr/remote_thr.vcxproj                    |   0
 .../vs2013/inproc_lat/inproc_lat.props                      |   0
 .../vs2013/inproc_lat/inproc_lat.vcxproj                    |   0
 .../vs2013/inproc_thr/inproc_thr.props                      |   0
 .../vs2013/inproc_thr/inproc_thr.vcxproj                    |   0
 .../{msvc => deprecated-msvc}/vs2013/libsodium.import.props |   0
 .../{msvc => deprecated-msvc}/vs2013/libsodium.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2013/libzmq.import.props |   0
 builds/{msvc => deprecated-msvc}/vs2013/libzmq.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2013/libzmq.sln          |   0
 builds/{msvc => deprecated-msvc}/vs2013/libzmq/libzmq.props |   0
 .../{msvc => deprecated-msvc}/vs2013/libzmq/libzmq.vcxproj  |   0
 .../vs2013/libzmq/libzmq.vcxproj.filters                    |   0
 builds/{msvc => deprecated-msvc}/vs2013/libzmq/libzmq.xml   |   0
 .../vs2013/local_lat/local_lat.props                        |   0
 .../vs2013/local_lat/local_lat.vcxproj                      |   0
 .../vs2013/local_thr/local_thr.props                        |   0
 .../vs2013/local_thr/local_thr.vcxproj                      |   0
 .../vs2013/remote_lat/remote_lat.props                      |   0
 .../vs2013/remote_lat/remote_lat.vcxproj                    |   0
 .../vs2013/remote_thr/remote_thr.props                      |   0
 .../vs2013/remote_thr/remote_thr.vcxproj                    |   0
 .../vs2015/inproc_lat/inproc_lat.props                      |   0
 .../vs2015/inproc_lat/inproc_lat.vcxproj                    |   0
 .../vs2015/inproc_thr/inproc_thr.props                      |   0
 .../vs2015/inproc_thr/inproc_thr.vcxproj                    |   0
 .../{msvc => deprecated-msvc}/vs2015/libsodium.import.props |   0
 .../{msvc => deprecated-msvc}/vs2015/libsodium.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2015/libzmq.import.props |   0
 builds/{msvc => deprecated-msvc}/vs2015/libzmq.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2015/libzmq.sln          |   0
 builds/{msvc => deprecated-msvc}/vs2015/libzmq/libzmq.props |   0
 .../{msvc => deprecated-msvc}/vs2015/libzmq/libzmq.vcxproj  |   0
 .../vs2015/libzmq/libzmq.vcxproj.filters                    |   0
 builds/{msvc => deprecated-msvc}/vs2015/libzmq/libzmq.xml   |   0
 .../vs2015/local_lat/local_lat.props                        |   0
 .../vs2015/local_lat/local_lat.vcxproj                      |   0
 .../vs2015/local_thr/local_thr.props                        |   0
 .../vs2015/local_thr/local_thr.vcxproj                      |   0
 .../vs2015/remote_lat/remote_lat.props                      |   0
 .../vs2015/remote_lat/remote_lat.vcxproj                    |   0
 .../vs2015/remote_thr/remote_thr.props                      |   0
 .../vs2015/remote_thr/remote_thr.vcxproj                    |   0
 builds/{msvc => deprecated-msvc}/vs2015_xp/libzmq.vcxproj   |   0
 builds/{msvc => deprecated-msvc}/vs2015_xp/platform.hpp     |   0
 .../vs2015_xp/test_zmq/test_multithread.cpp                 |   0
 .../vs2015_xp/test_zmq/test_zmq.vcxproj                     |   0
 .../vs2017/inproc_lat/inproc_lat.props                      |   0
 .../vs2017/inproc_lat/inproc_lat.vcxproj                    |   0
 .../vs2017/inproc_thr/inproc_thr.props                      |   0
 .../vs2017/inproc_thr/inproc_thr.vcxproj                    |   0
 .../{msvc => deprecated-msvc}/vs2017/libsodium.import.props |   0
 .../{msvc => deprecated-msvc}/vs2017/libsodium.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2017/libzmq.import.props |   0
 builds/{msvc => deprecated-msvc}/vs2017/libzmq.import.xml   |   0
 builds/{msvc => deprecated-msvc}/vs2017/libzmq.sln          |   0
 builds/{msvc => deprecated-msvc}/vs2017/libzmq/libzmq.props |   0
 .../{msvc => deprecated-msvc}/vs2017/libzmq/libzmq.vcxproj  |   0
 .../vs2017/libzmq/libzmq.vcxproj.filters                    |   0
 builds/{msvc => deprecated-msvc}/vs2017/libzmq/libzmq.xml   |   0
 .../vs2017/local_lat/local_lat.props                        |   0
 .../vs2017/local_lat/local_lat.vcxproj                      |   0
 .../vs2017/local_thr/local_thr.props                        |   0
 .../vs2017/local_thr/local_thr.vcxproj                      |   0
 .../vs2017/remote_lat/remote_lat.props                      |   0
 .../vs2017/remote_lat/remote_lat.vcxproj                    |   0
 .../vs2017/remote_thr/remote_thr.props                      |   0
 .../vs2017/remote_thr/remote_thr.vcxproj                    |   0
 153 files changed, 10 insertions(+)

commit 9df851225a263bf02c1a8f648f596ba50cd8c2d8
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 16:31:05 2018 +0200

    Problem: test_radio_dish takes time near timeout
    
    Solution: increase timeout

 tests/CMakeLists.txt | 4 ++++
 1 file changed, 4 insertions(+)

commit 945c79de67480abb55c72c2c16d095e5bd2282ad
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 15:22:13 2018 +0200

    Problem: test cases setting ZMQ_MULTICAST_LOOP to false fail on Windows
    
    Solution: disable test cases

 tests/test_radio_dish.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 57ef8e2e3eb0b2c24c6948514df3dae9c300014e
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 14:35:55 2018 +0200

    Problem: custom test ignore
    
    Solution: use unity mechanism for ignoring with message

 tests/test_radio_dish.cpp | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

commit 2bdf86d6c2cb246de46c30c12fa0739e09e69892
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 13:21:36 2018 +0200

    Problem: timeout on test_many_sockets with epoll
    
    Solution: increase timeout, remove timeout settings for unsupported poll poller

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

commit 275a89ac3c50ef6c9814ecabef236acfa3c28ac2
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 13:20:06 2018 +0200

    Problem: test_many_sockets does not show number of sockets that could be created
    
    Solution: add diagnostic output

 tests/test_many_sockets.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit bd129e78ffbe814fbcf77be101bc7224f2ea5a95
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 13:10:49 2018 +0200

    Problem: test assertion unnecessary complex
    
    Solution: use TEST_ASSERT_FAILURE_ERRNO

 tests/test_radio_dish.cpp | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

commit f5aec6fb279cf30587030d1531f7411f7219b038
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 11:52:07 2018 +0200

    Problem: no CI build with epoll under Windows
    
    Solution: add epoll build job

 appveyor.yml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 082b6aa6413fd4c0d1d604f0e2688b8b99c2406c
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 11:50:42 2018 +0200

    Problem: epoll not supported under Windows
    
    Solution: Use wepoll on Windows

 CMakeLists.txt | 15 ++++++++-------
 src/epoll.cpp  | 20 +++++++++++++++-----
 src/epoll.hpp  | 18 +++++++++++++++++-
 3 files changed, 40 insertions(+), 13 deletions(-)

commit c62df64bc2fa80aa01f9e33283cba6ba343602e8
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 11:34:27 2018 +0200

    Problem: wepoll source not in repository
    
    Solution: import wepoll 1.5.0 source

 external/wepoll/README.md   |  202 ++++
 external/wepoll/license.txt |   28 +
 external/wepoll/version.txt |    1 +
 external/wepoll/wepoll.c    | 2290 +++++++++++++++++++++++++++++++++++++++++++
 external/wepoll/wepoll.h    |  117 +++
 5 files changed, 2638 insertions(+)

commit b56e7f13c5e30fafca48842b8c4b2731a1715a20
Merge: 3730833 fdfa907
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed May 23 14:54:33 2018 +0100

    Merge pull request #3126 from sigiesec/migrate-test-inproc-connect
    
    Problem: test_inproc_connect not using test framework

commit 3730833f9dd8c3953557dc6f54dae690f9752753
Merge: 44b0753 2d9a895
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed May 23 13:50:39 2018 +0100

    Merge pull request #3125 from sigiesec/improve-socket-inheritance
    
    Improve socket inheritance handling

commit fdfa9071875eb6aeec3bd147262585c3b3060218
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 13:48:58 2018 +0200

    Problem: test_inproc_connect not using test framework
    
    Solution: migrate to unity

 Makefile.am                   |   3 +-
 tests/test_inproc_connect.cpp | 419 +++++++++++++-----------------------------
 2 files changed, 127 insertions(+), 295 deletions(-)

commit 2d9a8955f54f1b21032f27fc0b9cf771772b0bba
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 10:27:41 2018 +0200

    Problem: race condition in making socket non-inheritable
    
    Solution: create sockets with WSA_FLAG_NO_HANDLE_INHERIT

 src/ip.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

commit 44da0e7e42ada4aedd7a4df0bce7df8550fc5a48
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 10:19:34 2018 +0200

    Problem: code duplication in making sockets non-inheritable
    
    Solution: extracted make_socket_noninheritable function

 src/ip.cpp           | 52 +++++++++++++++++++++++++---------------------------
 src/ip.hpp           |  4 ++++
 src/ipc_listener.cpp |  8 +-------
 src/tcp_listener.cpp | 22 ++--------------------
 4 files changed, 32 insertions(+), 54 deletions(-)

commit c432aada84b2f953654236539ccc52a6d71773c9
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 23 10:10:32 2018 +0200

    Problem: inconsistent error handling and unnecessary code duplication
    
    Solution: make error handling consistent and use retired_fd to remove code duplication

 src/ip.cpp              | 11 +++++------
 src/socks_connecter.cpp |  7 +------
 src/tcp_connecter.cpp   |  8 +-------
 src/tcp_listener.cpp    | 28 +++++++++++-----------------
 4 files changed, 18 insertions(+), 36 deletions(-)

commit 44b0753c5cd5f9a705ebabbbf228a3ed5ce5000b
Merge: d02ba13 fa02797
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed May 23 09:56:32 2018 +0100

    Merge pull request #3047 from acsearle/master
    
    Allow EBADF on iOS #3046

commit d02ba1357697ff0efbf6fadfc08f8bce77f715e7
Merge: 6c106d3 440be28
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue May 22 20:37:34 2018 +0100

    Merge pull request #3122 from sigiesec/test-migrations
    
    Migrated some more tests to unity and fixed some more code style issues

commit 6c106d3930cc1fa431112df9f6be299e2e51f66e
Merge: 8ad0d58 18eabed
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue May 22 19:31:05 2018 +0100

    Merge pull request #3121 from sigiesec/split-poller-config
    
    Split poller config and disable 'poll' poller on Windows for I/O thread polling

commit 440be28d7ea46f5ce4fd840b097dda01cd9aaa99
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 18 18:05:25 2018 +0200

    Problem: unnecessary non-const variables
    
    Solution: add const

 src/socks.cpp         |  8 ++++----
 src/stream_engine.cpp |  6 ++++--
 src/tcp_connecter.cpp |  2 +-
 src/udp_engine.cpp    | 12 +++++++-----
 src/xpub.cpp          |  3 ++-
 src/zap_client.cpp    |  2 +-
 src/zmq.cpp           |  7 ++++---
 7 files changed, 23 insertions(+), 17 deletions(-)

commit d6952ded71219868a61bfb7e10d1cb880867a6bd
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 18 17:47:47 2018 +0200

    Problem: unused include directives and redundant forward declarations
    
    Solution: removed

 src/client.hpp             |  2 --
 src/clock.cpp              |  5 -----
 src/clock.hpp              | 12 +++++++-----
 src/condition_variable.hpp |  1 -
 src/decoder.hpp            |  1 -
 src/dish.hpp               |  3 +--
 src/dist.hpp               |  1 -
 src/encoder.hpp            |  2 +-
 src/fq.hpp                 |  5 +++--
 src/gather.hpp             |  2 --
 src/io_thread.hpp          |  2 --
 src/lb.hpp                 |  4 +++-
 src/mechanism_base.hpp     |  2 ++
 src/norm_engine.hpp        |  1 +
 src/null_mechanism.cpp     |  1 -
 src/options.cpp            |  1 +
 src/options.hpp            |  2 +-
 src/own.hpp                |  1 -
 src/pipe.hpp               |  3 +--
 src/plain_server.hpp       |  1 -
 src/proxy.cpp              |  1 +
 src/radio.hpp              |  4 +---
 src/raw_decoder.hpp        |  1 -
 src/raw_encoder.cpp        |  3 +--
 src/raw_encoder.hpp        |  5 +----
 src/select.hpp             |  1 -
 src/server.hpp             |  2 +-
 src/session_base.hpp       |  3 ---
 src/socket_base.hpp        |  2 --
 src/socket_poller.hpp      |  1 -
 src/stream_engine.hpp      |  2 +-
 src/udp_address.hpp        |  2 ++
 src/udp_engine.cpp         |  2 +-
 src/udp_engine.hpp         |  1 -
 src/v1_encoder.cpp         |  2 +-
 src/v2_encoder.cpp         |  1 +
 src/xpub.hpp               |  2 --
 37 files changed, 32 insertions(+), 55 deletions(-)

commit 04ec6aaf28a4f03388396cdeb142b0479b7f212a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 18 17:31:17 2018 +0200

    Problem: malloc call may fail
    
    Solution: add alloc_assert

 src/blob.hpp | 2 ++
 1 file changed, 2 insertions(+)

commit 18eabed6eab623205f6289f21def4515fe636f31
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 22 15:58:51 2018 +0200

    Problem: I/O thread poll poller build unsupported
    
    Solution: use API_POLLER=poll instead of POLLER=poll

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

commit d326434b371b94c4a98f66df69566f5a28070fcd
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 22 15:57:20 2018 +0200

    Problem: API poller cannot be set independently from I/O thread poller, poll I/O thread poller broken on Windows
    
    Solution: change platform definitions to separate API poller from I/O thread poller, disallow configuring poll I/O thread poller on Windows

 CMakeLists.txt               | 23 +++++++++++++---
 acinclude.m4                 | 62 +++++++++++++++++++++++++++++++-------------
 builds/cmake/platform.hpp.in | 15 ++++++-----
 src/devpoll.cpp              |  2 +-
 src/devpoll.hpp              |  2 +-
 src/epoll.cpp                |  2 +-
 src/epoll.hpp                |  2 +-
 src/kqueue.cpp               |  2 +-
 src/kqueue.hpp               |  2 +-
 src/poll.cpp                 | 12 +--------
 src/poll.hpp                 | 10 ++++---
 src/poller.hpp               | 34 +++++++++++++-----------
 src/pollset.cpp              |  2 +-
 src/pollset.hpp              |  2 +-
 src/select.cpp               |  2 +-
 src/select.hpp               |  2 +-
 src/windows.hpp              |  2 +-
 17 files changed, 110 insertions(+), 68 deletions(-)

commit ad100b0b9fa19e527bf0c6dcd233d35646a4db15
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 22 11:12:15 2018 +0200

    Problem: test_xpub_nodrop not using test framework
    
    Solution: migrate to unity

 Makefile.am                |  3 +-
 tests/test_xpub_nodrop.cpp | 79 +++++++++++++++++++++++-----------------------
 2 files changed, 42 insertions(+), 40 deletions(-)

commit f13377de0535d2adb7e8c355b3eb7a9ea1f3172c
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 22 10:45:05 2018 +0200

    Problem: test_pub_invert_matching failing
    
    Solution: insert some sleeps to remedy timing dependencies

 tests/test_pub_invert_matching.cpp | 4 ++++
 1 file changed, 4 insertions(+)

commit 12c6ae2283a0fff8249cc8b14cd7e6657856c031
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 22 10:43:27 2018 +0200

    Problem: test_pub_invert_matching not using test framework
    
    Solution: migrate to unity

 Makefile.am                        |   3 +-
 tests/test_pub_invert_matching.cpp | 116 ++++++++++++++++---------------------
 2 files changed, 53 insertions(+), 66 deletions(-)

commit fa467d3425919433e246d03181e8445da1d31b82
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 22 10:36:23 2018 +0200

    Problem: test_hwm_pubsub not using test framework
    
    Solution: migrate to unity

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   40 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1313 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1056 +++++++++
 NEWS                                               | 1693 ++++++++++++++
 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/arsenm.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/simias.md                                |   15 +
 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 +
 acinclude.m4                                       | 1138 ++++++++++
 appveyor.yml                                       |  112 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  295 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   61 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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           |  291 +++
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  840 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  111 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  950 ++++++++
 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                               |   83 +
 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_poller.txt                                 |  269 +++
 doc/zmq_poller_add.txt                             |    1 +
 doc/zmq_poller_add_fd.txt                          |    1 +
 doc/zmq_poller_destroy.txt                         |    1 +
 doc/zmq_poller_modify.txt                          |    1 +
 doc/zmq_poller_modify_fd.txt                       |    1 +
 doc/zmq_poller_new.txt                             |    1 +
 doc/zmq_poller_remove.txt                          |    1 +
 doc/zmq_poller_remove_fd.txt                       |    1 +
 doc/zmq_poller_wait_all.txt                        |    1 +
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  111 +
 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                             | 1346 ++++++++++++
 doc/zmq_socket.txt                                 |  611 ++++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  735 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  305 +++
 src/blob.hpp                                       |  201 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  706 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  291 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  147 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  155 ++
 src/decoder_allocators.hpp                         |  133 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  369 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  451 ++++
 src/err.hpp                                        |  181 ++
 src/fd.hpp                                         |   67 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  668 ++++++
 src/ip.hpp                                         |   72 +
 src/ip_resolver.cpp                                |  726 ++++++
 src/ip_resolver.hpp                                |  113 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  437 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  349 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   70 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  567 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  216 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1158 ++++++++++
 src/options.hpp                                    |  298 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  551 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  214 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  134 ++
 src/proxy.cpp                                      |  647 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  333 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  551 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  621 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  415 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1762 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  702 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  478 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  316 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1125 ++++++++++
 src/stream_engine.hpp                              |  241 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  367 ++++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  324 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  441 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  377 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  324 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  206 ++
 src/udp_address.hpp                                |   71 +
 src/udp_engine.cpp                                 |  533 +++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  154 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |  103 +
 src/xpub.cpp                                       |  324 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1525 +++++++++++++
 src/zmq_draft.h                                    |  179 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  242 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  397 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  223 ++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  659 ++++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  524 +++++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  364 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  419 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  234 ++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  473 ++++
 tests/testutil_security.hpp                        |  690 ++++++
 tests/testutil_unity.hpp                           |  254 +++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   66 +
 unittests/unittest_ip_resolver.cpp                 |  962 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 818 files changed, 120597 insertions(+)

commit ee85957dc454f88aa72e11192d574b8159359b3f
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 22 14:08:24 2018 +0200

    Problem: no test case for polling pending connect that ultimately fails
    
    Solution: added test case, reproduces the likely cause for #3107

 unittests/unittest_poller.cpp | 54 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

commit 8ad0d5896eeb0e43f13aaaca04aff8631e5b84c7
Author: Bill Torpey <wallstprog@gmail.com>
Date:   Tue May 22 11:05:32 2018 -0400

    prevent duplicate connections from PUB sockets also (see https://gith… (#3117)
    
    * Update zmq_connect documentation to mention issue of multiple connects to the same endpoint

 doc/zmq_connect.txt | 8 ++++++++
 1 file changed, 8 insertions(+)

commit c178193c50bbc11e8bf2c552c2d0ac8b59cf36e2
Merge: 6a5051f 4e616f3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri May 18 17:53:34 2018 +0100

    Merge pull request #3116 from sigiesec/fix-some-more-style-issues
    
    Fix some more code style issues

commit 4e616f30dde654014eebb12b9930543265659d6a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 18 15:54:00 2018 +0200

    Problem: C-style casts used
    
    Solution: replace by C++-style casts

 src/blob.hpp               |   8 +--
 src/clock.cpp              |   2 +-
 src/ctx.cpp                |  11 ++--
 src/curve_client.cpp       |   7 +-
 src/curve_client_tools.hpp |   8 +--
 src/curve_server.cpp       |   6 +-
 src/dish.cpp               |   7 +-
 src/dist.cpp               |   2 +-
 src/encoder.hpp            |   4 +-
 src/err.cpp                |   4 +-
 src/generic_mtrie_impl.hpp |   2 +-
 src/io_thread.cpp          |   2 +-
 src/ip.cpp                 |  50 +++++++++------
 src/ip_resolver.cpp        |  10 +--
 src/mechanism.cpp          |   9 +--
 src/mechanism_base.cpp     |   3 +-
 src/msg.cpp                |   7 +-
 src/options.cpp            |  26 ++++----
 src/own.cpp                |   2 +-
 src/pipe.cpp               |   2 +-
 src/plain_server.cpp       |   2 +-
 src/poller_base.cpp        |   2 +-
 src/radio.cpp              |   6 +-
 src/random.cpp             |   8 +--
 src/raw_decoder.cpp        |   2 +-
 src/reaper.cpp             |   2 +-
 src/req.cpp                |   3 +-
 src/router.cpp             |   7 +-
 src/select.cpp             |  13 ++--
 src/signaler.cpp           |  12 ++--
 src/socket_base.cpp        |  29 +++++----
 src/socket_poller.cpp      |  19 +++---
 src/socks.cpp              |   4 +-
 src/socks_connecter.cpp    |   9 +--
 src/stream.cpp             |   6 +-
 src/stream_engine.cpp      |  22 ++++---
 src/sub.cpp                |   2 +-
 src/tcp.cpp                |  27 ++++----
 src/tcp_address.cpp        |  27 ++++----
 src/tcp_connecter.cpp      |  11 ++--
 src/tcp_listener.cpp       |  15 +++--
 src/timers.cpp             |   2 +-
 src/trie.cpp               |  19 +++---
 src/udp_engine.cpp         |  61 ++++++++++--------
 src/v1_decoder.cpp         |   6 +-
 src/v1_encoder.cpp         |   2 +-
 src/v2_decoder.cpp         |   2 +-
 src/wire.hpp               |  49 ++++++++------
 src/xpub.cpp               |   9 +--
 src/xsub.cpp               |  10 +--
 src/zmq.cpp                | 157 +++++++++++++++++++++++++--------------------
 src/zmq_utils.cpp          |  16 ++---
 52 files changed, 408 insertions(+), 325 deletions(-)

commit d002eb557864b8b3f9cb170a00516c07cd1f4bcd
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed May 16 22:45:09 2018 +0200

    Problem: analyzer does not know that zmq_abort does not return
    
    Solution: add no-return attributes

 src/err.hpp | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 7b3acd47b2859203c3f010302e5f1fc199d64b2a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri May 18 13:13:20 2018 +0200

    Problem: malloc may fail in blob_t ctors
    
    Solution: add alloc_assert calls

 src/blob.hpp | 4 ++++
 1 file changed, 4 insertions(+)

commit 9da0c6d62fc82875e7e487fd938789a4bac69634
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 17 17:25:45 2018 +0200

    Problem: goto jumping backwards
    
    Solution: replace by for loop

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   40 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1313 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1055 +++++++++
 NEWS                                               | 1693 ++++++++++++++
 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/arsenm.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/simias.md                                |   15 +
 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 +
 acinclude.m4                                       | 1138 ++++++++++
 appveyor.yml                                       |  112 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  295 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   61 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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           |  291 +++
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  840 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  111 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  950 ++++++++
 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                               |   83 +
 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_poller.txt                                 |  269 +++
 doc/zmq_poller_add.txt                             |    1 +
 doc/zmq_poller_add_fd.txt                          |    1 +
 doc/zmq_poller_destroy.txt                         |    1 +
 doc/zmq_poller_modify.txt                          |    1 +
 doc/zmq_poller_modify_fd.txt                       |    1 +
 doc/zmq_poller_new.txt                             |    1 +
 doc/zmq_poller_remove.txt                          |    1 +
 doc/zmq_poller_remove_fd.txt                       |    1 +
 doc/zmq_poller_wait_all.txt                        |    1 +
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  111 +
 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                             | 1346 ++++++++++++
 doc/zmq_socket.txt                                 |  611 ++++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  735 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  305 +++
 src/blob.hpp                                       |  197 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  703 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  290 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  147 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  155 ++
 src/decoder_allocators.hpp                         |  133 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  368 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  451 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   67 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  658 ++++++
 src/ip.hpp                                         |   72 +
 src/ip_resolver.cpp                                |  726 ++++++
 src/ip_resolver.hpp                                |  113 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  437 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  348 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   69 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  566 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  216 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1154 ++++++++++
 src/options.hpp                                    |  298 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  551 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  214 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  134 ++
 src/proxy.cpp                                      |  647 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  332 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  620 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  411 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1761 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  699 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  477 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  314 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1123 ++++++++++
 src/stream_engine.hpp                              |  241 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  362 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  321 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  440 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  376 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  206 ++
 src/udp_address.hpp                                |   71 +
 src/udp_engine.cpp                                 |  526 +++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  152 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |   96 +
 src/xpub.cpp                                       |  323 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1510 +++++++++++++
 src/zmq_draft.h                                    |  179 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  242 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  397 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  659 ++++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  524 +++++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  364 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  419 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  234 ++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  473 ++++
 tests/testutil_security.hpp                        |  690 ++++++
 tests/testutil_unity.hpp                           |  254 +++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   66 +
 unittests/unittest_ip_resolver.cpp                 |  962 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 818 files changed, 120526 insertions(+)

commit 6a5051fac3bb09db7e7772dcbdd591ee7ded1400
Merge: cbd52fe e19823d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu May 17 15:43:20 2018 +0100

    Merge pull request #3114 from sigiesec/fix-some-style-issues
    
    Fix some code style issues

commit e19823d83a41ff051ccb4652cce9762e06d4aec0
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 17 15:04:10 2018 +0200

    Problem: redundant else
    
    Solution: remove redundant else

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

commit ad781319ef7b30c6f041b0d14285feffee03cb6b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 17 14:58:37 2018 +0200

    Problem: ternary operator used with boolean literals\n\nSolution: Use comparison with 0 instead

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

commit 22b72bb678660fca27ba0efd4f0f3e3fea364c9b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu May 17 14:34:52 2018 +0200

    Problem: deallocate calls release after de-allocation
    
    Solution: reduce to newly extracted function clear, which does not use the freed pointer

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   40 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1313 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1055 +++++++++
 NEWS                                               | 1693 ++++++++++++++
 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/arsenm.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/simias.md                                |   15 +
 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 +
 acinclude.m4                                       | 1138 ++++++++++
 appveyor.yml                                       |  112 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  295 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   61 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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           |  291 +++
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  840 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  111 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  950 ++++++++
 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                               |   83 +
 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_poller.txt                                 |  269 +++
 doc/zmq_poller_add.txt                             |    1 +
 doc/zmq_poller_add_fd.txt                          |    1 +
 doc/zmq_poller_destroy.txt                         |    1 +
 doc/zmq_poller_modify.txt                          |    1 +
 doc/zmq_poller_modify_fd.txt                       |    1 +
 doc/zmq_poller_new.txt                             |    1 +
 doc/zmq_poller_remove.txt                          |    1 +
 doc/zmq_poller_remove_fd.txt                       |    1 +
 doc/zmq_poller_wait_all.txt                        |    1 +
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  111 +
 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                             | 1346 ++++++++++++
 doc/zmq_socket.txt                                 |  611 ++++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  735 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  305 +++
 src/blob.hpp                                       |  197 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  703 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  290 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  147 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  155 ++
 src/decoder_allocators.hpp                         |  133 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  368 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  451 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   64 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  658 ++++++
 src/ip.hpp                                         |   72 +
 src/ip_resolver.cpp                                |  726 ++++++
 src/ip_resolver.hpp                                |  113 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  437 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  348 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   69 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  566 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  216 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1154 ++++++++++
 src/options.hpp                                    |  298 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  550 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  214 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  134 ++
 src/proxy.cpp                                      |  647 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  331 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  620 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  411 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1761 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  699 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  477 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  314 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1123 ++++++++++
 src/stream_engine.hpp                              |  241 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  361 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  321 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  440 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  376 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  206 ++
 src/udp_address.hpp                                |   71 +
 src/udp_engine.cpp                                 |  526 +++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  152 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |   96 +
 src/xpub.cpp                                       |  323 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1508 +++++++++++++
 src/zmq_draft.h                                    |  179 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  242 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  397 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  659 ++++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  524 +++++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  364 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  419 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  234 ++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  473 ++++
 tests/testutil_security.hpp                        |  690 ++++++
 tests/testutil_unity.hpp                           |  254 +++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   66 +
 unittests/unittest_ip_resolver.cpp                 |  962 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 818 files changed, 120518 insertions(+)

commit fa027970bb3aad2d3634efab791ad15f0fed9ae2
Author: Antony Searle <antony.searle@gmail.com>
Date:   Tue Apr 17 12:33:18 2018 +1000

    Allow EBADF on iOS #3046

 src/ip.cpp            |  8 ++++++++
 src/tcp.cpp           | 15 +++++++++++++++
 src/tcp_connecter.cpp |  9 +++++++++
 src/udp_engine.cpp    |  9 +++++++++
 4 files changed, 41 insertions(+)

commit cbd52feb482bf346c0e165e02453eddb1cf1dc3d
Merge: 6a9c6d4 63e1e74
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue May 15 15:10:49 2018 +0100

    Merge pull request #3112 from devindusoft/FixCompilation_ZMQ_ATOMIC_PTR_MUTEX
    
    Fixed compilation with ZMQ_ATOMIC_PTR_MUTEX

commit 6a9c6d427fdc34557698d3e1b05c909df3808f74
Merge: 7953083 e78d20f
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue May 15 15:08:56 2018 +0100

    Merge pull request #3111 from sigiesec/win-draft-fix-and-migrate-test
    
    Reenable DRAFT builds on Appveyor and fix test_radio_dish_udp_ipv6

commit e78d20ff2cc3e1502be4dda104bd16c86fc066cb
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 15 14:53:22 2018 +0200

    Problem: test_radio_dish_udp_ipv6 triggers assertion under Windows
    
    Solution: fix handling of sockaddr in recvfrom

 src/udp_engine.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

commit dd1c87f9d9ff8e89df2a126021483785d83c8a71
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 15 13:49:50 2018 +0200

    Problem: type mismatch errors/warnings in Windows build
    
    Solution: fix types

 tests/test_radio_dish.cpp | 23 ++++++++++++-----------
 tests/testutil.hpp        |  8 ++++++++
 2 files changed, 20 insertions(+), 11 deletions(-)

commit 10cb710ab8bcafa53d5787c07f43703cf6b2b6ae
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 15 12:46:11 2018 +0200

    Problem: appveyor builds do not build DRAFT
    
    Solution: set ENABLE_DRAFTS=ON

 appveyor.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 7953083617a7b9d360db619827249a7838f9cc19
Merge: d81a041 b30cbfc
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue May 15 13:25:18 2018 +0100

    Merge pull request #3109 from sigiesec/migrate-test-spec-dealer-to-unity
    
    Problem: test_spec_dealer not using test framework

commit b30cbfc112c0be7a49c1849e250ba7706ff138f3
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue May 15 12:20:19 2018 +0200

    Problem: test_spec_dealer not using test framework
    
    Solution: migrate to Unity

 Makefile.am                |   3 +-
 tests/test_spec_dealer.cpp | 221 +++++++++++++++++++--------------------------
 tests/testutil_unity.hpp   |  25 ++++-
 3 files changed, 117 insertions(+), 132 deletions(-)

commit 63e1e745f847d42ff489f53c4cd5b9ed590000c2
Author: korbes <andre.korbes@gmail.com>
Date:   Mon May 14 22:08:15 2018 -0300

    Fixed compilation with ZMQ_ATOMIC_PTR_MUTEX

 src/atomic_ptr.hpp | 4 ----
 1 file changed, 4 deletions(-)

commit d81a041f1841cc08962d25b96ee0fb9a31627ec5
Merge: 6092431 d437d66
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon May 14 22:53:04 2018 +0100

    Merge pull request #3103 from sigiesec/win-warnings-as-errors
    
    Warnings in Windows builds

commit d437d668c0c15fd9c547568191f5efe245962ff1
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon May 14 22:07:10 2018 +0200

    Problem: MSVC warnings in connection with poll
    
    Solution: handle types properly

 src/poll.cpp          | 7 ++++++-
 src/socket_poller.cpp | 5 ++++-
 src/zmq.cpp           | 3 ++-
 3 files changed, 12 insertions(+), 3 deletions(-)

commit e447f058e2b42affe9fe24df904de6b90874fbf3
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon May 14 20:56:30 2018 +0200

    Problem: C4244 warnings regarding SOCKET vs. int in test_system
    
    Solution: Use fd_t

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   40 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1313 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1054 +++++++++
 NEWS                                               | 1693 ++++++++++++++
 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/arsenm.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/simias.md                                |   15 +
 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 +
 acinclude.m4                                       | 1138 ++++++++++
 appveyor.yml                                       |  112 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  295 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   61 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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           |  291 +++
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  840 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  111 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  950 ++++++++
 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                               |   83 +
 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_poller.txt                                 |  269 +++
 doc/zmq_poller_add.txt                             |    1 +
 doc/zmq_poller_add_fd.txt                          |    1 +
 doc/zmq_poller_destroy.txt                         |    1 +
 doc/zmq_poller_modify.txt                          |    1 +
 doc/zmq_poller_modify_fd.txt                       |    1 +
 doc/zmq_poller_new.txt                             |    1 +
 doc/zmq_poller_remove.txt                          |    1 +
 doc/zmq_poller_remove_fd.txt                       |    1 +
 doc/zmq_poller_wait_all.txt                        |    1 +
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  111 +
 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                             | 1346 ++++++++++++
 doc/zmq_socket.txt                                 |  611 ++++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  735 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  309 +++
 src/blob.hpp                                       |  197 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  703 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  290 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  145 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  151 ++
 src/decoder_allocators.hpp                         |  131 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  368 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  451 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   61 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  658 ++++++
 src/ip.hpp                                         |   72 +
 src/ip_resolver.cpp                                |  726 ++++++
 src/ip_resolver.hpp                                |  113 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  437 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  348 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   69 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  566 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  216 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1154 ++++++++++
 src/options.hpp                                    |  298 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  550 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  209 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  134 ++
 src/proxy.cpp                                      |  647 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  331 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  620 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  411 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1761 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  696 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  477 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  314 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1123 ++++++++++
 src/stream_engine.hpp                              |  241 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  361 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  321 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  440 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  376 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  206 ++
 src/udp_address.hpp                                |   71 +
 src/udp_engine.cpp                                 |  525 +++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  152 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |   96 +
 src/xpub.cpp                                       |  323 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1515 +++++++++++++
 src/zmq_draft.h                                    |  179 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  242 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  397 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  609 +++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  523 +++++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  364 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  419 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  267 +++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  465 ++++
 tests/testutil_security.hpp                        |  690 ++++++
 tests/testutil_unity.hpp                           |  237 ++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   66 +
 unittests/unittest_ip_resolver.cpp                 |  962 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 818 files changed, 120465 insertions(+)

commit 6092431b974713d35895dfaf42a18ac55e14f0e0
Merge: 8ad4390 bf6bde3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon May 14 15:26:19 2018 +0100

    Merge pull request #3100 from sigiesec/fix-poller-invalid-events
    
    Problem: zmq_poller_[add/modify] accept invalid events arguments silently

commit 8ad43907e60391733ed491e9b40e2382b74933d7
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon May 14 15:05:29 2018 +0200

    Merge pull request #3101 from bluca/heartbeat_disabled
    
    Problem: heartbeat tests are disabled

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   40 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1312 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1054 +++++++++
 NEWS                                               | 1693 ++++++++++++++
 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/arsenm.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/simias.md                                |   15 +
 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 +
 acinclude.m4                                       | 1138 ++++++++++
 appveyor.yml                                       |  112 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  295 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   61 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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           |  291 +++
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  840 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  111 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  950 ++++++++
 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                               |   83 +
 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_poller.txt                                 |  269 +++
 doc/zmq_poller_add.txt                             |    1 +
 doc/zmq_poller_add_fd.txt                          |    1 +
 doc/zmq_poller_destroy.txt                         |    1 +
 doc/zmq_poller_modify.txt                          |    1 +
 doc/zmq_poller_modify_fd.txt                       |    1 +
 doc/zmq_poller_new.txt                             |    1 +
 doc/zmq_poller_remove.txt                          |    1 +
 doc/zmq_poller_remove_fd.txt                       |    1 +
 doc/zmq_poller_wait_all.txt                        |    1 +
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  111 +
 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                             | 1346 ++++++++++++
 doc/zmq_socket.txt                                 |  611 ++++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  735 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  309 +++
 src/blob.hpp                                       |  197 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  703 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  290 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  145 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  151 ++
 src/decoder_allocators.hpp                         |  131 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  368 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  451 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   61 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  658 ++++++
 src/ip.hpp                                         |   72 +
 src/ip_resolver.cpp                                |  726 ++++++
 src/ip_resolver.hpp                                |  113 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  437 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  348 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   69 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  566 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  216 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1154 ++++++++++
 src/options.hpp                                    |  298 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  550 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  209 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  124 ++
 src/proxy.cpp                                      |  656 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  331 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  620 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  421 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1761 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  696 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  477 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  314 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1123 ++++++++++
 src/stream_engine.hpp                              |  241 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  361 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  321 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  440 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  376 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  206 ++
 src/udp_address.hpp                                |   71 +
 src/udp_engine.cpp                                 |  525 +++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  152 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |   96 +
 src/xpub.cpp                                       |  323 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1515 +++++++++++++
 src/zmq_draft.h                                    |  179 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  242 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  397 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  633 ++++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  523 +++++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  364 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  419 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  267 +++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  454 ++++
 tests/testutil_security.hpp                        |  690 ++++++
 tests/testutil_unity.hpp                           |  237 ++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   66 +
 unittests/unittest_ip_resolver.cpp                 |  963 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 818 files changed, 120487 insertions(+)

commit bf6bde3ae3db4278feb0c20771db124107602445
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon May 14 14:29:49 2018 +0200

    Problem: unnecessary ifdefs regarding handling of int vs. SOCKET at various places
    
    Solution: use a typedef instead

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   40 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  152 ++
 CMakeLists.txt                                     | 1312 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1054 +++++++++
 NEWS                                               | 1693 ++++++++++++++
 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/arsenm.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/simias.md                                |   15 +
 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 +
 acinclude.m4                                       | 1138 ++++++++++
 appveyor.yml                                       |  112 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   34 +
 builds/README                                      |    4 +
 builds/android/Dockerfile                          |   22 +
 builds/android/README.md                           |   83 +
 builds/android/android_build_helper.sh             |  316 +++
 builds/android/build.sh                            |   70 +
 builds/android/ci_build.sh                         |   30 +
 builds/cmake/Modules/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  295 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   61 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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           |  291 +++
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  840 +++++++
 doc/Makefile.am                                    |   64 +
 doc/asciidoc.conf                                  |   56 +
 doc/zmq.txt                                        |  279 +++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  111 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  950 ++++++++
 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                               |   83 +
 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_poller.txt                                 |  269 +++
 doc/zmq_poller_add.txt                             |    1 +
 doc/zmq_poller_add_fd.txt                          |    1 +
 doc/zmq_poller_destroy.txt                         |    1 +
 doc/zmq_poller_modify.txt                          |    1 +
 doc/zmq_poller_modify_fd.txt                       |    1 +
 doc/zmq_poller_new.txt                             |    1 +
 doc/zmq_poller_remove.txt                          |    1 +
 doc/zmq_poller_remove_fd.txt                       |    1 +
 doc/zmq_poller_wait_all.txt                        |    1 +
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  111 +
 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                             | 1346 ++++++++++++
 doc/zmq_socket.txt                                 |  611 ++++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 doc/zmq_strerror.txt                               |   56 +
 doc/zmq_tcp.txt                                    |  118 +
 doc/zmq_term.txt                                   |   66 +
 doc/zmq_tipc.txt                                   |   83 +
 doc/zmq_udp.txt                                    |  116 +
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  735 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  309 +++
 src/blob.hpp                                       |  197 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  703 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  290 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  145 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  151 ++
 src/decoder_allocators.hpp                         |  131 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  368 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  451 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   64 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  658 ++++++
 src/ip.hpp                                         |   72 +
 src/ip_resolver.cpp                                |  726 ++++++
 src/ip_resolver.hpp                                |  113 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  437 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  348 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   69 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  566 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  216 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1154 ++++++++++
 src/options.hpp                                    |  298 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  550 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  209 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  124 ++
 src/proxy.cpp                                      |  656 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  331 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  620 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  421 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1761 +++++++++++++++
 src/socket_base.hpp                                |  307 +++
 src/socket_poller.cpp                              |  696 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  477 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  314 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1123 ++++++++++
 src/stream_engine.hpp                              |  241 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  361 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  321 +++
 src/tcp_address.hpp                                |   99 +
 src/tcp_connecter.cpp                              |  440 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  376 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  206 ++
 src/udp_address.hpp                                |   71 +
 src/udp_engine.cpp                                 |  525 +++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  152 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |   96 +
 src/xpub.cpp                                       |  323 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1507 +++++++++++++
 src/zmq_draft.h                                    |  179 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  242 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  213 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  397 ++++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  683 ++++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  523 +++++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  364 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  419 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  267 +++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  106 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  454 ++++
 tests/testutil_security.hpp                        |  690 ++++++
 tests/testutil_unity.hpp                           |  237 ++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   66 +
 unittests/unittest_ip_resolver.cpp                 |  963 ++++++++
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_resolver_common.hpp             |   73 +
 unittests/unittest_udp_address.cpp                 |  326 +++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 818 files changed, 120532 insertions(+)

commit d062edd8c142384792955796329baf1e5a3377cd
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 23 19:23:22 2018 +0000

    Finalise changelog for 4.2.5

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

commit d70981f54df4c80bd62a299014d6cbb24774a821
Merge: 7f1f705 a66a9d9
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Fri Mar 23 20:13:00 2018 +0100

    Merge pull request #3019 from bluca/newver
    
    Problem: regression in 4.2.3 needs to be fixed before 4.3

commit a66a9d9e8d28eb4fb7b32ee43c3e7330cf513ca8
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 23 11:27:07 2018 +0000

    Problem: want to release 4.2.5 but no NEWS
    
    Solution: note bug fixes

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

commit 5f17e26fa4c60c3de0282d1b6ad1e8b7037ed57a
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 23 11:18:28 2018 +0000

    Problem: regression in 4.2.3 went unnoticed, want to release 4.2.5
    
    Solution: revert DRAFT -> STABLE API transition so that we can do a
    bugfix-only 4.2.5 release.
    Will be re-reverted once tagged.
    
    Revert "Problem: ZMQ_BINDTODEVICE has met STABLE conditions"
    
    This reverts commit 3cb79f5042cf32cdb7b1b58d4acf17eba85ec9f7.
    
    Revert "Problem: ZMQ_MSG_GSSAPI_* have met STABLE conditions"
    
    This reverts commit 374da4207b8034b0fcd67a2cc2165d50e09b9387.
    
    Revert "Problem: ZMQ_MSG_T_SIZE has met STABLE conditions"
    
    This reverts commit 6411c4a247c08ead50919d16b30eb030eaf44a7e.
    
    Revert "Problem: docs say STABLE API still in DRAFT"
    
    This reverts commit 9f2f30b7ffa09acc51d3b87251a47e83b435d5d4.

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   36 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1295 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1032 +++++++++
 NEWS                                               | 1663 ++++++++++++++
 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/arsenm.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 +
 acinclude.m4                                       | 1122 ++++++++++
 appveyor.yml                                       |  106 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   29 +
 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/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  294 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   49 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  838 +++++++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  112 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  944 ++++++++
 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                               |   83 +
 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                        |  111 +
 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                             | 1340 +++++++++++
 doc/zmq_socket.txt                                 |  609 +++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  734 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  305 +++
 src/blob.hpp                                       |  186 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  702 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  290 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  145 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  151 ++
 src/decoder_allocators.hpp                         |  131 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  368 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  467 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   61 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  658 ++++++
 src/ip.hpp                                         |   72 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  436 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  346 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   69 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  566 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  216 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1141 ++++++++++
 src/options.hpp                                    |  295 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  550 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  209 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  124 ++
 src/proxy.cpp                                      |  656 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  326 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  620 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  421 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1754 +++++++++++++++
 src/socket_base.hpp                                |  304 +++
 src/socket_poller.cpp                              |  689 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  477 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  314 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1095 +++++++++
 src/stream_engine.hpp                              |  238 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  361 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  914 ++++++++
 src/tcp_address.hpp                                |  121 +
 src/tcp_connecter.cpp                              |  440 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  376 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  170 ++
 src/udp_address.hpp                                |   77 +
 src/udp_engine.cpp                                 |  422 ++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  152 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |   96 +
 src/xpub.cpp                                       |  323 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1514 +++++++++++++
 src/zmq_draft.h                                    |  191 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  241 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  126 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  346 +++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  621 ++++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  235 ++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  370 ++++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  419 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  267 +++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  101 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  424 ++++
 tests/testutil_security.hpp                        |  690 ++++++
 tests/testutil_unity.hpp                           |  212 ++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   64 +
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 802 files changed, 117762 insertions(+)

commit 7f1f7057d81dae9e0189d895f5061a5eeb0ba1d5
Merge: 7722381 1c5a63e
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Thu Mar 22 22:10:30 2018 +0100

    Merge pull request #3018 from bluca/null_auth_regression
    
    Problem: backward incompatible change to NULL with ZAP

commit 1c5a63e9394865ce01b91b4678d1932f7dd65087
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Mar 22 19:27:23 2018 +0000

    Problem: backward incompatible change to NULL with ZAP
    
    Solution: like for other mechanism, do not enforce strict ZAP protocol
    adherence unless the specific socket option is enabled with NULL auth.
    
    Add test to exercise this functionality, and fix ZAP test to set the
    socket option when it uses NULL auth.
    
    See: https://github.com/zeromq/pyzmq/pull/1152

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   36 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1295 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1032 +++++++++
 NEWS                                               | 1678 ++++++++++++++
 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/arsenm.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 +
 acinclude.m4                                       | 1122 ++++++++++
 appveyor.yml                                       |  106 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   29 +
 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/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  294 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   49 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  838 +++++++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  111 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  938 ++++++++
 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                               |   83 +
 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                        |  111 +
 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                             | 1335 +++++++++++
 doc/zmq_socket.txt                                 |  609 +++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  734 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  305 +++
 src/blob.hpp                                       |  186 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  702 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  290 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  145 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  151 ++
 src/decoder_allocators.hpp                         |  131 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  368 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  467 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   61 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  658 ++++++
 src/ip.hpp                                         |   72 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  436 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  346 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   69 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  566 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  216 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1141 ++++++++++
 src/options.hpp                                    |  295 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  550 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  209 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  124 ++
 src/proxy.cpp                                      |  656 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  326 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  620 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  421 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1754 +++++++++++++++
 src/socket_base.hpp                                |  304 +++
 src/socket_poller.cpp                              |  689 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  477 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  314 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1095 +++++++++
 src/stream_engine.hpp                              |  238 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  361 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  914 ++++++++
 src/tcp_address.hpp                                |  121 +
 src/tcp_connecter.cpp                              |  440 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  376 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  170 ++
 src/udp_address.hpp                                |   77 +
 src/udp_engine.cpp                                 |  422 ++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  152 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |   96 +
 src/xpub.cpp                                       |  323 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1514 +++++++++++++
 src/zmq_draft.h                                    |  178 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  241 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  126 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  346 +++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  621 ++++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  235 ++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  364 +++
 tests/test_security_null.cpp                       |  250 +++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  419 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  267 +++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  101 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  424 ++++
 tests/testutil_security.hpp                        |  690 ++++++
 tests/testutil_unity.hpp                           |  212 ++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   64 +
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 802 files changed, 117746 insertions(+)

commit 7722381fe7d49086841af4ccfe4448cefed116f9
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 21 22:53:44 2018 +0100

    Merge pull request #3016 from bluca/fix_docs
    
    Problem: some inaccuracies in manpages

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   36 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  130 ++
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1295 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1032 +++++++++
 NEWS                                               | 1678 ++++++++++++++
 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/arsenm.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 +
 acinclude.m4                                       | 1122 ++++++++++
 appveyor.yml                                       |  106 +
 autogen.sh                                         |   49 +
 branding.bmp                                       |  Bin 0 -> 25818 bytes
 builds/Makefile.am                                 |   29 +
 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/ClangFormat.cmake             |   41 +
 builds/cmake/Modules/FindAsciiDoc.cmake            |   26 +
 builds/cmake/Modules/FindSodium.cmake              |   40 +
 builds/cmake/Modules/TestZMQVersion.cmake          |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake      |  294 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   49 +
 builds/cmake/clang-format-check.sh.in              |   14 +
 builds/cmake/platform.hpp.in                       |  104 +
 builds/coverage/ci_build.sh                        |   32 +
 builds/cygwin/Makefile.cygwin                      |   48 +
 builds/gyp/.gitignore                              |    5 +
 builds/gyp/build.bat                               |    4 +
 builds/gyp/platform.hpp                            |   80 +
 builds/gyp/project-tests.gsl                       |   19 +
 builds/gyp/project-tests.gypi                      |  895 ++++++++
 builds/gyp/project-tests.xml                       |   83 +
 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/vxworks/platform.hpp                        |  306 +++
 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                                        |   74 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  838 +++++++
 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                   |   62 +
 doc/zmq_bind.txt                                   |  103 +
 doc/zmq_close.txt                                  |   59 +
 doc/zmq_connect.txt                                |  100 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  111 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  197 ++
 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                             |  938 ++++++++
 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                               |   83 +
 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                        |  111 +
 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                             | 1335 +++++++++++
 doc/zmq_socket.txt                                 |  609 +++++
 doc/zmq_socket_monitor.txt                         |  294 +++
 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 +
 external/unity/license.txt                         |   21 +
 external/unity/unity.c                             | 1570 +++++++++++++
 external/unity/unity.h                             |  503 +++++
 external/unity/unity_internals.h                   |  872 ++++++++
 external/unity/version.txt                         |    1 +
 include/zmq.h                                      |  734 +++++++
 include/zmq_utils.h                                |   50 +
 installer.ico                                      |  Bin 0 -> 2842 bytes
 m4/ax_check_compile_flag.m4                        |   74 +
 m4/ax_code_coverage.m4                             |  264 +++
 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                           |   64 +
 packaging/debian/copyright                         |  116 +
 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                             |   67 +
 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                             |   98 +
 packaging/redhat/zeromq.spec                       |  234 ++
 perf/inproc_lat.cpp                                |  238 ++
 perf/inproc_thr.cpp                                |  247 +++
 perf/local_lat.cpp                                 |  116 +
 perf/local_thr.cpp                                 |  161 ++
 perf/remote_lat.cpp                                |  129 ++
 perf/remote_thr.cpp                                |  138 ++
 src/address.cpp                                    |  131 ++
 src/address.hpp                                    |   82 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  305 +++
 src/blob.hpp                                       |  186 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  265 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  353 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  702 ++++++
 src/ctx.hpp                                        |  266 +++
 src/curve_client.cpp                               |  290 +++
 src/curve_client.hpp                               |   84 +
 src/curve_client_tools.hpp                         |  305 +++
 src/curve_mechanism_base.cpp                       |  179 ++
 src/curve_mechanism_base.hpp                       |   79 +
 src/curve_server.cpp                               |  492 +++++
 src/curve_server.hpp                               |   91 +
 src/dbuffer.hpp                                    |  141 ++
 src/dealer.cpp                                     |  145 ++
 src/dealer.hpp                                     |   83 +
 src/decoder.hpp                                    |  193 ++
 src/decoder_allocators.cpp                         |  151 ++
 src/decoder_allocators.hpp                         |  131 ++
 src/devpoll.cpp                                    |  203 ++
 src/devpoll.hpp                                    |  115 +
 src/dgram.cpp                                      |  175 ++
 src/dgram.hpp                                      |   76 +
 src/dish.cpp                                       |  368 ++++
 src/dish.hpp                                       |  121 +
 src/dist.cpp                                       |  228 ++
 src/dist.hpp                                       |  116 +
 src/encoder.hpp                                    |  180 ++
 src/epoll.cpp                                      |  211 ++
 src/epoll.hpp                                      |  105 +
 src/err.cpp                                        |  467 ++++
 src/err.hpp                                        |  173 ++
 src/fd.hpp                                         |   61 +
 src/fq.cpp                                         |  156 ++
 src/fq.hpp                                         |   88 +
 src/gather.cpp                                     |   93 +
 src/gather.hpp                                     |   68 +
 src/generic_mtrie.hpp                              |  116 +
 src/generic_mtrie_impl.hpp                         |  453 ++++
 src/gssapi_client.cpp                              |  236 ++
 src/gssapi_client.hpp                              |   92 +
 src/gssapi_mechanism_base.cpp                      |  402 ++++
 src/gssapi_mechanism_base.hpp                      |  132 ++
 src/gssapi_server.cpp                              |  248 +++
 src/gssapi_server.hpp                              |   92 +
 src/i_decoder.hpp                                  |   60 +
 src/i_encoder.hpp                                  |   57 +
 src/i_engine.hpp                                   |   65 +
 src/i_mailbox.hpp                                  |   57 +
 src/i_poll_events.hpp                              |   53 +
 src/io_object.cpp                                  |  116 +
 src/io_object.hpp                                  |   84 +
 src/io_thread.cpp                                  |  118 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  658 ++++++
 src/ip.hpp                                         |   72 +
 src/ipc_address.cpp                                |  108 +
 src/ipc_address.hpp                                |   69 +
 src/ipc_connecter.cpp                              |  277 +++
 src/ipc_connecter.hpp                              |  136 ++
 src/ipc_listener.cpp                               |  436 ++++
 src/ipc_listener.hpp                               |  119 +
 src/kqueue.cpp                                     |  230 ++
 src/kqueue.hpp                                     |  110 +
 src/lb.cpp                                         |  165 ++
 src/lb.hpp                                         |   84 +
 src/libzmq.pc.cmake.in                             |   11 +
 src/libzmq.pc.in                                   |   11 +
 src/libzmq.vers                                    |    4 +
 src/likely.hpp                                     |   42 +
 src/macros.hpp                                     |   13 +
 src/mailbox.cpp                                    |  106 +
 src/mailbox.hpp                                    |   88 +
 src/mailbox_safe.cpp                               |  117 +
 src/mailbox_safe.hpp                               |   90 +
 src/mechanism.cpp                                  |  346 +++
 src/mechanism.hpp                                  |  144 ++
 src/mechanism_base.cpp                             |   69 +
 src/mechanism_base.hpp                             |   54 +
 src/metadata.cpp                                   |   58 +
 src/metadata.hpp                                   |   69 +
 src/msg.cpp                                        |  566 +++++
 src/msg.hpp                                        |  273 +++
 src/mtrie.cpp                                      |   37 +
 src/mtrie.hpp                                      |   52 +
 src/mutex.hpp                                      |  216 ++
 src/norm_engine.cpp                                |  716 ++++++
 src/norm_engine.hpp                                |  188 ++
 src/null_mechanism.cpp                             |  213 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1141 ++++++++++
 src/options.hpp                                    |  295 +++
 src/own.cpp                                        |  214 ++
 src/own.hpp                                        |  149 ++
 src/pair.cpp                                       |  141 ++
 src/pair.hpp                                       |   73 +
 src/pgm_receiver.cpp                               |  304 +++
 src/pgm_receiver.hpp                               |  143 ++
 src/pgm_sender.cpp                                 |  251 +++
 src/pgm_sender.hpp                                 |  122 +
 src/pgm_socket.cpp                                 |  687 ++++++
 src/pgm_socket.hpp                                 |  128 ++
 src/pipe.cpp                                       |  550 +++++
 src/pipe.hpp                                       |  258 +++
 src/plain_client.cpp                               |  217 ++
 src/plain_client.hpp                               |   73 +
 src/plain_server.cpp                               |  258 +++
 src/plain_server.hpp                               |   67 +
 src/poll.cpp                                       |  209 ++
 src/poll.hpp                                       |  107 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  136 ++
 src/poller_base.hpp                                |  196 ++
 src/pollset.cpp                                    |  254 +++
 src/pollset.hpp                                    |  117 +
 src/precompiled.cpp                                |   30 +
 src/precompiled.hpp                                |  124 ++
 src/proxy.cpp                                      |  656 ++++++
 src/proxy.hpp                                      |   42 +
 src/pub.cpp                                        |   67 +
 src/pub.hpp                                        |   59 +
 src/pull.cpp                                       |   78 +
 src/pull.hpp                                       |   68 +
 src/push.cpp                                       |   77 +
 src/push.hpp                                       |   67 +
 src/radio.cpp                                      |  277 +++
 src/radio.hpp                                      |  115 +
 src/random.cpp                                     |  168 ++
 src/random.hpp                                     |   51 +
 src/raw_decoder.cpp                                |   74 +
 src/raw_decoder.hpp                                |   70 +
 src/raw_encoder.cpp                                |   51 +
 src/raw_encoder.hpp                                |   60 +
 src/reaper.cpp                                     |  149 ++
 src/reaper.hpp                                     |   90 +
 src/rep.cpp                                        |  133 ++
 src/rep.hpp                                        |   68 +
 src/req.cpp                                        |  326 +++
 src/req.hpp                                        |  117 +
 src/router.cpp                                     |  550 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  620 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  711 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  421 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1754 +++++++++++++++
 src/socket_base.hpp                                |  304 +++
 src/socket_poller.cpp                              |  689 ++++++
 src/socket_poller.hpp                              |  150 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  477 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  314 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1095 +++++++++
 src/stream_engine.hpp                              |  238 ++
 src/sub.cpp                                        |   84 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  361 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  914 ++++++++
 src/tcp_address.hpp                                |  121 +
 src/tcp_connecter.cpp                              |  440 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  376 ++++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  328 +++
 src/thread.hpp                                     |  130 ++
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  175 ++
 src/tipc_address.hpp                               |   80 +
 src/tipc_connecter.cpp                             |  281 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  235 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  993 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  170 ++
 src/udp_address.hpp                                |   77 +
 src/udp_engine.cpp                                 |  422 ++++
 src/udp_engine.hpp                                 |   73 +
 src/v1_decoder.cpp                                 |  152 ++
 src/v1_decoder.hpp                                 |   64 +
 src/v1_encoder.cpp                                 |   75 +
 src/v1_encoder.hpp                                 |   56 +
 src/v2_decoder.cpp                                 |  166 ++
 src/v2_decoder.hpp                                 |   73 +
 src/v2_encoder.cpp                                 |   77 +
 src/v2_encoder.hpp                                 |   56 +
 src/v2_protocol.hpp                                |   49 +
 src/version.rc.in                                  |   93 +
 src/vmci.cpp                                       |  100 +
 src/vmci.hpp                                       |   66 +
 src/vmci_address.cpp                               |  167 ++
 src/vmci_address.hpp                               |   71 +
 src/vmci_connecter.cpp                             |  298 +++
 src/vmci_connecter.hpp                             |  137 ++
 src/vmci_listener.cpp                              |  266 +++
 src/vmci_listener.hpp                              |   98 +
 src/windows.hpp                                    |   97 +
 src/wire.hpp                                       |   96 +
 src/xpub.cpp                                       |  323 +++
 src/xpub.hpp                                       |  122 +
 src/xsub.cpp                                       |  248 +++
 src/xsub.hpp                                       |   96 +
 src/ypipe.hpp                                      |  211 ++
 src/ypipe_base.hpp                                 |   54 +
 src/ypipe_conflate.hpp                             |  119 +
 src/yqueue.hpp                                     |  215 ++
 src/zap_client.cpp                                 |  305 +++
 src/zap_client.hpp                                 |  101 +
 src/zmq.cpp                                        | 1514 +++++++++++++
 src/zmq_draft.h                                    |  178 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  241 ++
 tests/README.md                                    |   45 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_address_tipc.cpp                        |  150 ++
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_app_meta.cpp                            |  167 ++
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   73 +
 tests/test_bind_src_address.cpp                    |   66 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  145 ++
 tests/test_conflate.cpp                            |   90 +
 tests/test_connect_delay_tipc.cpp                  |  243 ++
 tests/test_connect_resolve.cpp                     |  104 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  126 ++
 tests/test_ctx_options.cpp                         |  262 +++
 tests/test_dgram.cpp                               |   99 +
 tests/test_diffserv.cpp                            |   84 +
 tests/test_disconnect_inproc.cpp                   |  151 ++
 tests/test_filter_ipc.cpp                          |  164 ++
 tests/test_fork.cpp                                |   98 +
 tests/test_getsockopt_memset.cpp                   |   64 +
 tests/test_heartbeats.cpp                          |  346 +++
 tests/test_hwm.cpp                                 |  319 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  231 ++
 tests/test_inproc_connect.cpp                      |  529 +++++
 tests/test_invalid_rep.cpp                         |   97 +
 tests/test_iov.cpp                                 |  156 ++
 tests/test_ipc_wildcard.cpp                        |   65 +
 tests/test_issue_566.cpp                           |   99 +
 tests/test_last_endpoint.cpp                       |   75 +
 tests/test_many_sockets.cpp                        |  100 +
 tests/test_metadata.cpp                            |  130 ++
 tests/test_monitor.cpp                             |  116 +
 tests/test_msg_ffn.cpp                             |  146 ++
 tests/test_msg_flags.cpp                           |  126 ++
 tests/test_pair_inproc.cpp                         |   81 +
 tests/test_pair_ipc.cpp                            |   60 +
 tests/test_pair_tcp.cpp                            |   92 +
 tests/test_pair_tipc.cpp                           |   67 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  621 ++++++
 tests/test_probe_router.cpp                        |   86 +
 tests/test_proxy.cpp                               |  503 +++++
 tests/test_proxy_single_socket.cpp                 |  119 +
 tests/test_proxy_terminate.cpp                     |  131 ++
 tests/test_pub_invert_matching.cpp                 |  136 ++
 tests/test_radio_dish.cpp                          |  235 ++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  121 +
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  151 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  226 ++
 tests/test_reqrep_tipc.cpp                         |   66 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  112 +
 tests/test_router_mandatory.cpp                    |  244 ++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   76 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  364 +++
 tests/test_security_null.cpp                       |  207 ++
 tests/test_security_plain.cpp                      |  213 ++
 tests/test_security_zap.cpp                        |  417 ++++
 tests/test_setsockopt.cpp                          |  153 ++
 tests/test_shutdown_stress.cpp                     |  100 +
 tests/test_shutdown_stress_tipc.cpp                |   98 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  206 ++
 tests/test_sodium.cpp                              |   99 +
 tests/test_spec_dealer.cpp                         |  267 +++
 tests/test_spec_pushpull.cpp                       |  303 +++
 tests/test_spec_rep.cpp                            |  169 ++
 tests/test_spec_req.cpp                            |  268 +++
 tests/test_spec_router.cpp                         |  219 ++
 tests/test_srcfd.cpp                               |  126 ++
 tests/test_stream.cpp                              |  336 +++
 tests/test_stream_disconnect.cpp                   |  299 +++
 tests/test_stream_empty.cpp                        |   75 +
 tests/test_stream_exceeds_buffer.cpp               |  124 ++
 tests/test_stream_timeout.cpp                      |  234 ++
 tests/test_sub_forward.cpp                         |  109 +
 tests/test_sub_forward_tipc.cpp                    |  107 +
 tests/test_system.cpp                              |  101 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  125 ++
 tests/test_thread_safe.cpp                         |  119 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_unbind_inproc.cpp                       |   43 +
 tests/test_unbind_wildcard.cpp                     |  216 ++
 tests/test_use_fd_ipc.cpp                          |  222 ++
 tests/test_use_fd_tcp.cpp                          |  237 ++
 tests/test_xpub_manual.cpp                         |  597 +++++
 tests/test_xpub_nodrop.cpp                         |  117 +
 tests/test_xpub_verbose.cpp                        |  499 +++++
 tests/test_xpub_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  424 ++++
 tests/testutil_security.hpp                        |  684 ++++++
 tests/testutil_unity.hpp                           |  212 ++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   64 +
 unittests/unittest_mtrie.cpp                       |  457 ++++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 802 files changed, 117692 insertions(+)

commit bfc42d47ec85734c964be19764f988722e06c2f4
Merge: 1bfff06 0329402
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Thu Feb 4 00:21:02 2016 +1100

    Merge pull request #4 from zeromq/master
    
    update fork to master

commit 0329402d0abe4bde6b6932701d8b79404b6c5751
Merge: 963dffb d218e03
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Feb 2 23:19:53 2016 +0100

    Merge pull request #1762 from hintjens/master
    
    Fixed VS2015 build

commit d218e038847edc70b4156347e842eab970d0df8e
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Feb 2 22:49:15 2016 +0100

    Problem: project files have tool version in two places
    
    Leading to extra work when copying between versions of VS.
    
    Solution: remove second unnecessary definition.

 builds/msvc/vs2010/local_thr/local_thr.vcxproj   | 4 ----
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj | 4 ----
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   | 4 ----
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj | 4 ----
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   | 4 ----
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj | 4 ----
 builds/msvc/vs2015/local_thr/local_thr.vcxproj   | 4 ----
 builds/msvc/vs2015/remote_lat/remote_lat.vcxproj | 4 ----
 8 files changed, 32 deletions(-)

commit 4ce9c7c7426e06d403515739f5a768d8deb78aa1
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Feb 2 22:31:18 2016 +0100

    Problem: does not build on VS2015
    
    Solution: add missing project files
    
    (Also, updated FD_SETSIZE to 16K as a bonus.)

 builds/msvc/vs2010/libzmq/libzmq.props           |  2 +-
 builds/msvc/vs2012/libzmq/libzmq.props           |  2 +-
 builds/msvc/vs2013/libzmq/libzmq.props           |  2 +-
 builds/msvc/vs2015/inproc_lat/inproc_lat.props   | 48 ++++++++++++++
 builds/msvc/vs2015/inproc_lat/inproc_lat.vcxproj | 79 ++++++++++++++++++++++
 builds/msvc/vs2015/inproc_thr/inproc_thr.props   | 48 ++++++++++++++
 builds/msvc/vs2015/inproc_thr/inproc_thr.vcxproj | 79 ++++++++++++++++++++++
 builds/msvc/vs2015/libzmq/libzmq.props           |  2 +-
 builds/msvc/vs2015/local_lat/local_lat.props     | 48 ++++++++++++++
 builds/msvc/vs2015/local_lat/local_lat.vcxproj   | 79 ++++++++++++++++++++++
 builds/msvc/vs2015/local_thr/local_thr.props     | 48 ++++++++++++++
 builds/msvc/vs2015/local_thr/local_thr.vcxproj   | 83 ++++++++++++++++++++++++
 builds/msvc/vs2015/remote_lat/remote_lat.props   | 48 ++++++++++++++
 builds/msvc/vs2015/remote_lat/remote_lat.vcxproj | 83 ++++++++++++++++++++++++
 builds/msvc/vs2015/remote_thr/remote_thr.props   | 48 ++++++++++++++
 builds/msvc/vs2015/remote_thr/remote_thr.vcxproj | 79 ++++++++++++++++++++++
 16 files changed, 774 insertions(+), 4 deletions(-)

commit 963dffb54a1a32a9cc0aa01e4399d925f6e78565
Merge: c6b11ae b92055f
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Feb 2 22:30:18 2016 +0100

    Merge pull request #1760 from hintjens/master
    
    Problem: not building on VS2015

commit b92055fa567ee3d8659dfa6a2b2131310584bd2e
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Feb 2 22:05:13 2016 +0100

    Problem: not building on VS2015
    
    Solution: fixed project files, and warning in timers.cpp

 builds/msvc/vs2010/libzmq/libzmq.vcxproj | 8 ++++----
 builds/msvc/vs2012/libzmq/libzmq.vcxproj | 8 ++++----
 builds/msvc/vs2013/libzmq/libzmq.vcxproj | 8 ++++----
 builds/msvc/vs2015/libzmq/libzmq.vcxproj | 6 ++----
 src/timers.cpp                           | 4 ++--
 5 files changed, 16 insertions(+), 18 deletions(-)

commit c6b11ae4a7113a9e42aa4056ea724a63e5a87c45
Merge: c143a7d 44c6b04
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Mon Feb 1 23:02:32 2016 +0100

    Merge pull request #1758 from zeromq/revert-1757-revert-1756-replace-zmq-term
    
    Revert "Revert "Problem: deprecated use and reference of `zmq_term`""

commit 44c6b0484ea62e5815b98d491f592267a6f0639c
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Feb 1 23:00:06 2016 +0100

    Revert "Revert "Problem: deprecated use and reference of `zmq_term`""

 builds/zos/test_fork.cpp             |  2 +-
 doc/zmq_close.txt                    |  6 +++---
 doc/zmq_ctx_set.txt                  |  2 +-
 doc/zmq_disconnect.txt               |  4 ++--
 doc/zmq_getsockopt.txt               |  6 +++---
 doc/zmq_init.txt                     |  2 +-
 doc/zmq_setsockopt.txt               |  8 ++++----
 perf/inproc_lat.cpp                  |  4 ++--
 perf/inproc_thr.cpp                  |  4 ++--
 perf/local_lat.cpp                   |  4 ++--
 perf/local_thr.cpp                   |  4 ++--
 perf/remote_lat.cpp                  |  4 ++--
 perf/remote_thr.cpp                  |  4 ++--
 src/ctx.cpp                          | 10 +++++-----
 src/ctx.hpp                          | 10 +++++-----
 src/socket_base.cpp                  |  6 +++---
 tests/test_conflate.cpp              |  2 +-
 tests/test_connect_delay_tipc.cpp    |  6 +++---
 tests/test_fork.cpp                  |  2 +-
 tests/test_pair_tipc.cpp             |  2 +-
 tests/test_reqrep_device_tipc.cpp    |  2 +-
 tests/test_reqrep_tipc.cpp           |  2 +-
 tests/test_router_mandatory_tipc.cpp |  2 +-
 tests/test_shutdown_stress_tipc.cpp  |  2 +-
 tests/test_sub_forward_tipc.cpp      |  2 +-
 tests/test_term_endpoint_tipc.cpp    |  4 ++--
 26 files changed, 53 insertions(+), 53 deletions(-)

commit c143a7d3977d8700c37093c8cb3d4b55851d8c39
Merge: d44a8cc 1708bfe
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Mon Feb 1 22:46:54 2016 +0100

    Merge pull request #1757 from zeromq/revert-1756-replace-zmq-term
    
    Revert "Problem: deprecated use and reference of `zmq_term`"

commit 1708bfefb7064d428f425dc96770ad3002779a5a
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Feb 1 22:41:51 2016 +0100

    Revert "Problem: deprecated use and reference of `zmq_term`"

 builds/zos/test_fork.cpp             |  2 +-
 doc/zmq_close.txt                    |  6 +++---
 doc/zmq_ctx_set.txt                  |  2 +-
 doc/zmq_disconnect.txt               |  4 ++--
 doc/zmq_getsockopt.txt               |  6 +++---
 doc/zmq_init.txt                     |  2 +-
 doc/zmq_setsockopt.txt               |  8 ++++----
 perf/inproc_lat.cpp                  |  4 ++--
 perf/inproc_thr.cpp                  |  4 ++--
 perf/local_lat.cpp                   |  4 ++--
 perf/local_thr.cpp                   |  4 ++--
 perf/remote_lat.cpp                  |  4 ++--
 perf/remote_thr.cpp                  |  4 ++--
 src/ctx.cpp                          | 10 +++++-----
 src/ctx.hpp                          | 10 +++++-----
 src/socket_base.cpp                  |  6 +++---
 tests/test_conflate.cpp              |  2 +-
 tests/test_connect_delay_tipc.cpp    |  6 +++---
 tests/test_fork.cpp                  |  2 +-
 tests/test_pair_tipc.cpp             |  2 +-
 tests/test_reqrep_device_tipc.cpp    |  2 +-
 tests/test_reqrep_tipc.cpp           |  2 +-
 tests/test_router_mandatory_tipc.cpp |  2 +-
 tests/test_shutdown_stress_tipc.cpp  |  2 +-
 tests/test_sub_forward_tipc.cpp      |  2 +-
 tests/test_term_endpoint_tipc.cpp    |  4 ++--
 26 files changed, 53 insertions(+), 53 deletions(-)

commit d44a8ccddbe1098590dd1ad6cdd303f7b4f7fd7e
Merge: d92e409 a26bb74
Author: Joe Eli McIlvain <joe.eli.mac@gmail.com>
Date:   Mon Feb 1 13:35:33 2016 -0800

    Merge pull request #1756 from c-rack/replace-zmq-term
    
    Problem: deprecated use and reference of `zmq_term`

commit a26bb743d48d14dc17408fde2b26ceb65989fe99
Author: Constantin Rack <constantin@rack.li>
Date:   Mon Feb 1 22:00:35 2016 +0100

    Problem: docs are still referring to deprecated `zmq_term`
    
    Solution: Replace with `zmq_ctx_term`

 builds/zos/test_fork.cpp | 2 +-
 doc/zmq_close.txt        | 6 +++---
 doc/zmq_ctx_set.txt      | 2 +-
 doc/zmq_disconnect.txt   | 4 ++--
 doc/zmq_getsockopt.txt   | 6 +++---
 doc/zmq_init.txt         | 2 +-
 doc/zmq_setsockopt.txt   | 8 ++++----
 7 files changed, 15 insertions(+), 15 deletions(-)

commit 589464ced9035b58053942e6b547b2966f3dc05e
Author: Constantin Rack <constantin@rack.li>
Date:   Mon Feb 1 21:51:54 2016 +0100

    Problem: comments still refer to deprecated `zmq_term`.
    
    Solution: replace with `zmq_ctx_term`
    
    Also fix whitespace (tabs instead of spaces)

 src/ctx.cpp         | 10 +++++-----
 src/ctx.hpp         | 10 +++++-----
 src/socket_base.cpp |  6 +++---
 3 files changed, 13 insertions(+), 13 deletions(-)

commit 10d9ef8a5f4dfba792dc73e9c532e97a27b8f084
Author: Constantin Rack <constantin@rack.li>
Date:   Mon Feb 1 21:44:01 2016 +0100

    Problem: perf use deprecated `zmq_term`
    
    Solution: replace all occurrences with `zmq_ctx_term`

 perf/inproc_lat.cpp | 4 ++--
 perf/inproc_thr.cpp | 4 ++--
 perf/local_lat.cpp  | 4 ++--
 perf/local_thr.cpp  | 4 ++--
 perf/remote_lat.cpp | 4 ++--
 perf/remote_thr.cpp | 4 ++--
 6 files changed, 12 insertions(+), 12 deletions(-)

commit 0d171563d0b6a0bbb3062610b460f2e92acc5795
Author: Constantin Rack <constantin@rack.li>
Date:   Mon Feb 1 21:40:24 2016 +0100

    Problem: tests use deprecated `zmq_term` function
    
    Solution: replace all occurrences with `zmq_ctx_term`

 tests/test_conflate.cpp              | 2 +-
 tests/test_connect_delay_tipc.cpp    | 6 +++---
 tests/test_fork.cpp                  | 2 +-
 tests/test_pair_tipc.cpp             | 2 +-
 tests/test_reqrep_device_tipc.cpp    | 2 +-
 tests/test_reqrep_tipc.cpp           | 2 +-
 tests/test_router_mandatory_tipc.cpp | 2 +-
 tests/test_shutdown_stress_tipc.cpp  | 2 +-
 tests/test_sub_forward_tipc.cpp      | 2 +-
 tests/test_term_endpoint_tipc.cpp    | 4 ++--
 10 files changed, 13 insertions(+), 13 deletions(-)

commit d92e40901de893a8a03d33323f93ab877944b02e
Merge: e1254e1 a72cb5d
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Mon Feb 1 21:30:08 2016 +0100

    Merge pull request #1755 from UsamaMehboob/master
    
    fixed issue #1754

commit a72cb5d43d6eb140d494a9e6f0dc5a5800b4b950
Author: Usama Mehboob <10beeumehboob@seecs.edu.pk>
Date:   Tue Feb 2 01:17:12 2016 +0500

    added #include<unistd.h> in udp_engine.cpp to solve error 'close was not declared in scope'

 src/udp_engine.cpp | 1 +
 1 file changed, 1 insertion(+)

commit e1254e100e0409e336fbcdb417247a2e3c90fd47
Merge: 435535c 7da3ee1
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Feb 1 12:05:01 2016 +0100

    Merge pull request #1751 from c-rack/remove-zmq-utils-includes
    
    Problem: deprecated `zmq_utils.h` is still included

commit 7da3ee138ea48bcdf9ee06fb0efe81612ceba5f7
Author: Constantin Rack <constantin@rack.li>
Date:   Mon Feb 1 11:34:36 2016 +0100

    Problem: deprecated `zmq_utils.h` is still included
    
    Solution: remove all remaining references to `zmq_utils.h`

 CMakeLists.txt                     | 3 +--
 include/zmq.h                      | 4 ++--
 packaging/redhat/zeromq.spec.in    | 1 -
 perf/inproc_lat.cpp                | 1 -
 perf/inproc_thr.cpp                | 1 -
 perf/local_lat.cpp                 | 1 -
 perf/local_thr.cpp                 | 1 -
 perf/remote_lat.cpp                | 1 -
 perf/remote_thr.cpp                | 1 -
 src/zmq_utils.cpp                  | 1 -
 tests/test_poller.cpp              | 1 -
 tests/test_proxy.cpp               | 1 -
 tests/test_proxy_single_socket.cpp | 1 -
 tests/test_proxy_terminate.cpp     | 1 -
 tests/test_sub_forward_tipc.cpp    | 1 -
 tests/test_term_endpoint_tipc.cpp  | 1 -
 tests/test_timers.cpp              | 1 -
 17 files changed, 3 insertions(+), 19 deletions(-)

commit 435535ce92d6b0b05b2ee1f0917a6a25411706aa
Merge: 3cf6c33 6f94af8
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Mon Feb 1 11:22:13 2016 +0100

    Merge pull request #1750 from hintjens/master
    
    Problem: various errors in build scripts

commit 6f94af8ccabb32cac2d232f40b8d7dbf80a7f391
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Feb 1 11:18:08 2016 +0100

    Problem: various errors in build scripts
    
    - zmq_utils.h was removed
    - udp_address.cpp and udp_engine.cpp were added
    
    Solution: patch all affected build scripts

 Makefile.am                                      |  4 +---
 builds/cygwin/Makefile.cygwin                    |  1 +
 builds/mingw32/Makefile.mingw32                  |  1 +
 builds/msvc/vs2008/libzmq/libzmq.vcproj          |  8 ++++++--
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  9 ++++++---
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  5 +----
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  9 ++++++---
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  5 +----
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  9 ++++++---
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  5 +----
 builds/msvc/vs2015/libzmq/libzmq.vcxproj         | 13 +++++++------
 builds/msvc/vs2015/libzmq/libzmq.vcxproj.filters |  5 +----
 src/options.cpp                                  |  1 -
 13 files changed, 38 insertions(+), 37 deletions(-)

commit 3cf6c33132726494c4cc98b0269ea31cddd8dabb
Merge: d7ef68d 9b01ae8
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Feb 1 10:25:17 2016 +0100

    Merge pull request #1748 from sunkin351/master
    
    Added "udp_address" and "udp_engine" to VS2015 project

commit 9b01ae826e682d32134a5931ccfe2eda1af19351
Author: sunkin351 <17joshuanewcomb@gmail.com>
Date:   Sun Jan 31 20:19:04 2016 -0800

    Restoring zmq_utils.h from previous version
    
    I hope restoring this from a previous version doesn't do any damage, it
    is missing in the current version of this repository and is vital for
    the lib to compile anywhere.

 builds/msvc/vs2015/libzmq/libzmq.vcxproj.filters | 24 ++++++++++++++-----
 include/zmq_utils.h                              | 30 ++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 6 deletions(-)

commit a464eec7df7749cdecaa5bcb64e3c1cbb11366ba
Author: sunkin351 <17joshuanewcomb@gmail.com>
Date:   Sun Jan 31 17:54:31 2016 -0800

    Added "udp_address" and "udp_engine" to enable windows build
    
    Altered VS2015 files to enable building of the library.

 builds/msvc/vs2015/libzmq/libzmq.vcxproj         | 14 +++++++++++++-
 builds/msvc/vs2015/libzmq/libzmq.vcxproj.filters | 18 ++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)

commit d7ef68d6b73b17bc3348353b671cf5a9a049d648
Merge: 8dbda15 af775c0
Author: Joe Eli McIlvain <joe.eli.mac@gmail.com>
Date:   Sun Jan 31 17:31:47 2016 -0800

    Merge pull request #1747 from c-rack/remove-zmq-utils-h
    
    Problem: `zmq_utils.h` is deprecated since 2014-07-09

commit af775c0c8b705d34cb92c1041a441307a23ee5f5
Author: Constantin Rack <constantin@rack.li>
Date:   Mon Feb 1 00:54:53 2016 +0100

    Problem: `zmq_utils.h` is deprecated since 2014-07-09
    
    Solution: remove this file

 include/zmq_utils.h | 30 ------------------------------
 1 file changed, 30 deletions(-)

commit 8dbda15e21d048d163b1da7e7e3c8321d6e6b06d
Merge: 4f4e475 389e853
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Jan 30 22:23:35 2016 +0100

    Merge pull request #1745 from somdoron/master

commit 4f4e4753317ccd738ba22171bd85800f550f1856
Merge: add4e76 cdec4dc
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Jan 30 22:23:09 2016 +0100

    Merge pull request #1746 from minrk/allow-underscore-dns

commit cdec4dc9ee51458f991ad6778ae3244accef621a
Author: Min RK <benjaminrk@gmail.com>
Date:   Sat Jan 30 21:29:20 2016 +0100

    allow underscores in domain names
    
    Since they are allowed
    
    (They are not, however, allowed in hostnames)

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

commit 389e853c6d5061d47903ce4ab4847cf40dab9bf9
Author: somdoron <somdoron@gmail.com>
Date:   Sat Jan 30 13:21:08 2016 +0200

    Fix compilation errors on windows

 src/udp_address.cpp       |  6 +---
 src/udp_engine.cpp        | 88 ++++++++++++++++++++++++++++++-----------------
 tests/test_radio_dish.cpp |  1 +
 tests/test_udp.cpp        |  5 +--
 4 files changed, 61 insertions(+), 39 deletions(-)

commit add4e7675f3ea4568f46b317f3ea6badefcddb41
Merge: 318dd7c 2cb8da3
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat Jan 30 09:08:09 2016 +0100

    Merge pull request #1744 from jcfr/fix-gcc-warnings
    
    Fix unused-parameter/unused-but-set-variable/missing-field-initializers warnings

commit 318dd7c7174c334ba9025a55e2d08a72caa1a08f
Merge: 73f73dd 05e48cc
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat Jan 30 09:06:57 2016 +0100

    Merge pull request #1743 from jcfr/add-missing-ctest-tests
    
    ctest: Add missing test_udp and test_large_msg

commit 73f73ddaa9b3bc5fdf79065655c1ab7a8fcedbd4
Merge: b784943 cf5c288
Author: Doron Somech <somdoron@gmail.com>
Date:   Sat Jan 30 09:06:40 2016 +0100

    Merge pull request #1742 from jemc/master
    
    Problem: `udp_address::interface` conflicts with VS2015 build.

commit 2cb8da3bfd0865242f0ddbb876333851b206e02d
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 02:54:43 2016 -0500

    Style: Fix -Wmissing-field-initializers in socket_poller.cpp
    
    This commit addresses the following warnings reported on gcc 5.2.1. In
    the future, this will help reduce the "noise" and help catch warnings
    revealing a serious problem.
    
    It was originally introduce in the refactoring associated with
    zeromq/libzmq@da2bc60 (Removing zmq_pollfd as it is replaced by zmq_poller).
    
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    /path/to/libzmq/src/socket_poller.cpp: In member function ‘int zmq::socket_poller_t::add(zmq::socket_base_t*, void*, short int)’:
    /path/to/libzmq/src/socket_poller.cpp:92:51: warning: missing initializer for member ‘zmq::socket_poller_t::item_t::pollfd_index’ [-Wmissing-field-initializers]
         item_t item = {socket_, 0, user_data_, events_};
                                                       ^
    /path/to/libzmq/src/socket_poller.cpp: In member function ‘int zmq::socket_poller_t::add_fd(zmq::fd_t, void*, short int)’:
    /path/to/libzmq/src/socket_poller.cpp:108:50: warning: missing initializer for member ‘zmq::socket_poller_t::item_t::pollfd_index’ [-Wmissing-field-initializers]
         item_t item = {NULL, fd_, user_data_, events_};
                                                      ^
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

 src/socket_poller.cpp | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

commit 46b02338e38ac79d6ae4e41b7c3acf5fe34fd16a
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 02:44:09 2016 -0500

    Style: Fix -Wunused-but-set-variable in test_stream_exceeds_buffer.cpp
    
    This commit addresses the following warnings reported on gcc 5.2.1. In
    the future, this will help reduce the "noise" and help catch warnings
    revealing a serious problem.
    
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    /path/to/libzmq/tests/test_stream_exceeds_buffer.cpp: In function ‘int main()’:
    /path/to/libzmq/tests/test_stream_exceeds_buffer.cpp:19:9: warning: variable ‘rc’ set but not used [-Wunused-but-set-variable]
         int rc = setsockopt(server_sock, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(enable));
             ^
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

 tests/test_stream_exceeds_buffer.cpp | 2 ++
 1 file changed, 2 insertions(+)

commit f329252dcbc146b53d818df13fed5605718eb413
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 02:31:23 2016 -0500

    Style: Fix unused parameter compilation warnings
    
    This commit addresses the following warnings reported on gcc 5.2.1. In
    the future, this will help reduce the "noise" and help catch warnings
    revealing a serious problem.
    
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    /path/to/libzmq/src/options.cpp:1048:36: warning: unused parameter ‘option_’ [-Wunused-parameter]
     bool zmq::options_t::is_valid (int option_) const
                                        ^
    
    /path/to/libzmq/src/plain_client.cpp:146:30: warning: unused parameter ‘cmd_data’ [-Wunused-parameter]
             const unsigned char *cmd_data, size_t data_size)
                                  ^
    
    /path/to/libzmq/src/plain_client.cpp:146:30: warning: unused parameter ‘cmd_data’ [-Wunused-parameter]
             const unsigned char *cmd_data, size_t data_size)
                                  ^
    
    /path/to/libzmq/src/socket_base.cpp:1445:44: warning: unused parameter ‘group_’ [-Wunused-parameter]
     int zmq::socket_base_t::xjoin (const char *group_)
                                                ^
    /path/to/libzmq/src/socket_base.cpp:1451:45: warning: unused parameter ‘group_’ [-Wunused-parameter]
     int zmq::socket_base_t::xleave (const char *group_)
                                                 ^
    
    /path/to/libzmq/src/radio.cpp:145:33: warning: unused parameter ‘msg_’ [-Wunused-parameter]
     int zmq::radio_t::xrecv (msg_t *msg_)
                                     ^
    /path/to/libzmq/src/dish.cpp:164:32: warning: unused parameter ‘msg_’ [-Wunused-parameter]
     int zmq::dish_t::xsend (msg_t *msg_)
                                    ^
    
    /path/to/libzmq/tests/test_msg_ffn.cpp:32:16: warning: unused parameter ‘data’ [-Wunused-parameter]
     void ffn(void *data, void *hint) {
                    ^
    
    /path/to/libzmq/tests/test_timers.cpp:50:19: warning: unused parameter ‘timer_id’ [-Wunused-parameter]
     void handler (int timer_id, void* arg)
                       ^
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

 src/dish.cpp           | 1 +
 src/options.cpp        | 2 ++
 src/plain_client.cpp   | 3 +++
 src/radio.cpp          | 1 +
 src/socket_base.cpp    | 2 ++
 tests/test_msg_ffn.cpp | 2 ++
 tests/test_timers.cpp  | 2 ++
 7 files changed, 13 insertions(+)

commit 05e48cc6a9a4c0249ad61e8de69ac0a850b71c62
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 02:10:01 2016 -0500

    ctest: Add missing test_udp and test_large_msg
    
    This commit fixes the author warnings reported below. These tests
    have originally been introduced in zeromq/libzmq@5ebfd17 and
    zeromq/libzmq@5fe75f0.
    
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    CMake Warning (dev) at tests/CMakeLists.txt:133 (message):
      Test 'test_udp' is not known to CTest.
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    CMake Warning (dev) at tests/CMakeLists.txt:133 (message):
      Test 'test_large_msg' is not known to CTest.
    This warning is for project developers.  Use -Wno-dev to suppress it.
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

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

commit cf5c288dda778a2d1ab1a6a55cc74d635530bd4d
Author: Joe Eli McIlvain <joe.eli.mac@gmail.com>
Date:   Fri Jan 29 19:50:04 2016 -0800

    Rename `udp_address::interface` to `iface` for VS2015 build.
    Resolves #1739.

 src/udp_address.cpp | 6 +++---
 src/udp_address.hpp | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit b784943f90d8457b76f6bb45594f953743dcc30e
Merge: a2b9d82 5ebfd17
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Jan 29 20:23:10 2016 +0100

    Merge pull request #1737 from somdoron/radio-dish
    
    Problem: no udp/multicast support in zeromq

commit 5ebfd1728f2276b9aa4f3c1bac6b489d7eae20ae
Author: somdoron <somdoron@gmail.com>
Date:   Fri Jan 29 21:17:11 2016 +0200

    make udp support for radio-dish

 .gitignore           |   1 +
 CMakeLists.txt       |   4 +-
 Makefile.am          |   9 ++-
 src/address.cpp      |  10 +++
 src/address.hpp      |   2 +
 src/radio.cpp        |  13 ++-
 src/radio.hpp        |   5 ++
 src/session_base.cpp |  29 ++++++-
 src/socket_base.cpp  |  24 +++++-
 src/udp_address.cpp  | 166 ++++++++++++++++++++++++++++++++++++++
 src/udp_address.hpp  |  84 +++++++++++++++++++
 src/udp_engine.cpp   | 222 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/udp_engine.hpp   |  62 ++++++++++++++
 tests/test_udp.cpp   | 121 ++++++++++++++++++++++++++++
 14 files changed, 744 insertions(+), 8 deletions(-)

commit a2b9d826e4eb537196d4015a3fd06b9990e155ac
Merge: 1bcb0a7 2ae4c55
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Fri Jan 29 11:24:33 2016 +0100

    Merge pull request #1735 from hintjens/master
    
    Problem: radio/dish class broke Windows builds

commit 2ae4c55bf533f2ea1df6bd5c304f1d132eefb7e3
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Jan 29 11:07:21 2016 +0100

    Problem: radio/dish class broke Windows builds
    
    Solution: add these new classes to MSVC project files

 builds/msvc/vs2008/libzmq/libzmq.vcproj  | 4 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj | 4 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj | 4 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj | 4 ++++
 builds/msvc/vs2015/libzmq/libzmq.vcxproj | 4 ++++
 5 files changed, 20 insertions(+)

commit 1bcb0a737eb12fc6de593f62c650686c27c5df74
Merge: e424388 1960b4e
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Fri Jan 29 10:17:54 2016 +0100

    Merge pull request #1734 from somdoron/radio-dish
    
    problem: radio-dish is still hacky

commit 1960b4e8a9ec151b924d8189fea415c3e35ec550
Author: somdoron <somdoron@gmail.com>
Date:   Thu Jan 28 19:29:06 2016 +0200

    Filtering messages on dish side

 .gitignore                                       |  163 +++
 .hgeol                                           |    2 +
 .mailmap                                         |   81 +
 .travis.yml                                      |   25 +
 AUTHORS                                          |  141 ++
 CMakeLists.txt                                   |  890 +++++++++++
 COPYING                                          |  674 +++++++++
 COPYING.LESSER                                   |  181 +++
 Dockerfile                                       |   11 +
 FindSodium.cmake                                 |   40 +
 INSTALL                                          |  246 ++++
 MAINTAINERS                                      |   56 +
 Makefile.am                                      |  756 ++++++++++
 NEWS                                             |  978 +++++++++++++
 README.cygwin.md                                 |   15 +
 README.md                                        |   57 +
 acinclude.m4                                     |  966 ++++++++++++
 appveyor.yml                                     |   85 ++
 autogen.sh                                       |   49 +
 branding.bmp                                     |  Bin 0 -> 25818 bytes
 builds/Makefile.am                               |   34 +
 builds/README                                    |    4 +
 builds/android/Dockerfile                        |   22 +
 builds/android/android_build_helper.sh           |  316 ++++
 builds/android/build.sh                          |   59 +
 builds/android/ci_build.sh                       |   30 +
 builds/cmake/Modules/FindAsciiDoc.cmake          |   26 +
 builds/cmake/Modules/TestZMQVersion.cmake        |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake    |  129 ++
 builds/cmake/NSIS.template32.in                  |  952 ++++++++++++
 builds/cmake/NSIS.template64.in                  |  960 ++++++++++++
 builds/cmake/platform.hpp.in                     |   89 ++
 builds/cygwin/Makefile.cygwin                    |   47 +
 builds/mingw32/Makefile.mingw32                  |   47 +
 builds/mingw32/platform.hpp                      |   41 +
 builds/msvc/Makefile.am                          |  103 ++
 builds/msvc/build/buildall.bat                   |   10 +
 builds/msvc/build/buildbase.bat                  |   69 +
 builds/msvc/errno.cpp                            |   32 +
 builds/msvc/errno.hpp                            |   56 +
 builds/msvc/platform.hpp                         |   41 +
 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                           |   15 +
 builds/msvc/resource.h                           |   14 +
 builds/msvc/resource.rc                          |  Bin 0 -> 4642 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          |  266 ++++
 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   |   48 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj |   79 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj |   79 +
 builds/msvc/vs2010/libsodium.import.props        |   52 +
 builds/msvc/vs2010/libsodium.import.xml          |   17 +
 builds/msvc/vs2010/libzmq.import.props           |   66 +
 builds/msvc/vs2010/libzmq.import.xml             |   38 +
 builds/msvc/vs2010/libzmq.sln                    |  206 +++
 builds/msvc/vs2010/libzmq/libzmq.props           |   69 +
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  262 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  570 ++++++++
 builds/msvc/vs2010/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2010/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj   |   79 +
 builds/msvc/vs2010/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2010/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2010/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj |   79 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj |   79 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj |   79 +
 builds/msvc/vs2012/libsodium.import.props        |   52 +
 builds/msvc/vs2012/libsodium.import.xml          |   17 +
 builds/msvc/vs2012/libzmq.import.props           |   66 +
 builds/msvc/vs2012/libzmq.import.xml             |   38 +
 builds/msvc/vs2012/libzmq.sln                    |  206 +++
 builds/msvc/vs2012/libzmq/libzmq.props           |   69 +
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  262 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  570 ++++++++
 builds/msvc/vs2012/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2012/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj   |   79 +
 builds/msvc/vs2012/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2012/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2012/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj |   79 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj |   79 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj |   79 +
 builds/msvc/vs2013/libsodium.import.props        |   52 +
 builds/msvc/vs2013/libsodium.import.xml          |   17 +
 builds/msvc/vs2013/libzmq.import.props           |   66 +
 builds/msvc/vs2013/libzmq.import.xml             |   38 +
 builds/msvc/vs2013/libzmq.sln                    |  208 +++
 builds/msvc/vs2013/libzmq/libzmq.props           |   69 +
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  262 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  570 ++++++++
 builds/msvc/vs2013/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2013/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj   |   79 +
 builds/msvc/vs2013/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2013/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2013/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj |   79 +
 builds/msvc/vs2015/libsodium.import.props        |   52 +
 builds/msvc/vs2015/libsodium.import.xml          |   17 +
 builds/msvc/vs2015/libzmq.import.props           |   66 +
 builds/msvc/vs2015/libzmq.import.xml             |   38 +
 builds/msvc/vs2015/libzmq.sln                    |  208 +++
 builds/msvc/vs2015/libzmq/libzmq.props           |   69 +
 builds/msvc/vs2015/libzmq/libzmq.vcxproj         |  262 ++++
 builds/msvc/vs2015/libzmq/libzmq.vcxproj.filters |  570 ++++++++
 builds/msvc/vs2015/libzmq/libzmq.xml             |   25 +
 builds/nuget/libzmq.autopkg                      |   52 +
 builds/nuget/readme.nuget                        |   20 +
 builds/openwrt/Makefile                          |   70 +
 builds/valgrind/valgrind.supp                    |   14 +
 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                                      |   33 +
 configure.ac                                     |  622 ++++++++
 doc/Makefile.am                                  |   59 +
 doc/asciidoc.conf                                |   56 +
 doc/zmq.txt                                      |  267 ++++
 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                              |   87 ++
 doc/zmq_ctx_new.txt                              |   50 +
 doc/zmq_ctx_set.txt                              |  125 ++
 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_disconnect.txt                           |   75 +
 doc/zmq_errno.txt                                |   50 +
 doc/zmq_getsockopt.txt                           |  871 +++++++++++
 doc/zmq_gssapi.txt                               |   57 +
 doc/zmq_has.txt                                  |   43 +
 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                             |   75 +
 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                                |   98 ++
 doc/zmq_proxy_steerable.txt                      |   98 ++
 doc/zmq_recv.txt                                 |   90 ++
 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                           | 1222 ++++++++++++++++
 doc/zmq_socket.txt                               |  539 +++++++
 doc/zmq_socket_monitor.txt                       |  239 +++
 doc/zmq_strerror.txt                             |   56 +
 doc/zmq_tcp.txt                                  |  118 ++
 doc/zmq_term.txt                                 |   66 +
 doc/zmq_tipc.txt                                 |   83 ++
 doc/zmq_unbind.txt                               |   90 ++
 doc/zmq_version.txt                              |   54 +
 doc/zmq_vmci.txt                                 |   97 ++
 doc/zmq_z85_decode.txt                           |   50 +
 doc/zmq_z85_encode.txt                           |   57 +
 include/zmq.h                                    |  579 ++++++++
 include/zmq_utils.h                              |   30 +
 installer.ico                                    |  Bin 0 -> 2842 bytes
 packaging/README                                 |    4 +
 packaging/nuget/package.bat                      |   13 +
 packaging/nuget/package.config                   |    6 +
 packaging/nuget/package.gsl                      |  265 ++++
 packaging/nuget/package.nuspec                   |   99 ++
 packaging/nuget/package.targets                  |  130 ++
 packaging/nuget/package.xml                      |   22 +
 packaging/redhat/zeromq.spec.in                  |  201 +++
 perf/inproc_lat.cpp                              |  241 +++
 perf/inproc_thr.cpp                              |  251 ++++
 perf/local_lat.cpp                               |  117 ++
 perf/local_thr.cpp                               |  141 ++
 perf/remote_lat.cpp                              |  130 ++
 perf/remote_thr.cpp                              |  108 ++
 src/address.cpp                                  |  124 ++
 src/address.hpp                                  |   75 +
 src/array.hpp                                    |  163 +++
 src/atomic_counter.hpp                           |  230 +++
 src/atomic_ptr.hpp                               |  229 +++
 src/blob.hpp                                     |  139 ++
 src/client.cpp                                   |  115 ++
 src/client.hpp                                   |   81 +
 src/clock.cpp                                    |  235 +++
 src/clock.hpp                                    |   79 +
 src/command.hpp                                  |  171 +++
 src/condition_variable.hpp                       |  209 +++
 src/config.hpp                                   |   92 ++
 src/ctx.cpp                                      |  626 ++++++++
 src/ctx.hpp                                      |  237 +++
 src/curve_client.cpp                             |  464 ++++++
 src/curve_client.hpp                             |  129 ++
 src/curve_server.cpp                             |  734 ++++++++++
 src/curve_server.hpp                             |  138 ++
 src/dbuffer.hpp                                  |  144 ++
 src/dealer.cpp                                   |  141 ++
 src/dealer.hpp                                   |   89 ++
 src/decoder.hpp                                  |  196 +++
 src/decoder_allocators.cpp                       |  143 ++
 src/decoder_allocators.hpp                       |  155 ++
 src/devpoll.cpp                                  |  204 +++
 src/devpoll.hpp                                  |  119 ++
 src/dish.cpp                                     |  357 +++++
 src/dish.hpp                                     |  125 ++
 src/dist.cpp                                     |  232 +++
 src/dist.hpp                                     |  120 ++
 src/encoder.hpp                                  |  185 +++
 src/epoll.cpp                                    |  194 +++
 src/epoll.hpp                                    |  115 ++
 src/err.cpp                                      |  386 +++++
 src/err.hpp                                      |  168 +++
 src/fd.hpp                                       |   54 +
 src/fq.cpp                                       |  162 ++
 src/fq.hpp                                       |   92 ++
 src/gssapi_client.cpp                            |  230 +++
 src/gssapi_client.hpp                            |   93 ++
 src/gssapi_mechanism_base.cpp                    |  351 +++++
 src/gssapi_mechanism_base.hpp                    |  132 ++
 src/gssapi_server.cpp                            |  377 +++++
 src/gssapi_server.hpp                            |   96 ++
 src/i_decoder.hpp                                |   64 +
 src/i_encoder.hpp                                |   60 +
 src/i_engine.hpp                                 |   65 +
 src/i_mailbox.hpp                                |   60 +
 src/i_poll_events.hpp                            |   55 +
 src/io_object.cpp                                |  116 ++
 src/io_object.hpp                                |   89 ++
 src/io_thread.cpp                                |  113 ++
 src/io_thread.hpp                                |   99 ++
 src/ip.cpp                                       |  177 +++
 src/ip.hpp                                       |   57 +
 src/ipc_address.cpp                              |  105 ++
 src/ipc_address.hpp                              |   76 +
 src/ipc_connecter.cpp                            |  278 ++++
 src/ipc_connecter.hpp                            |  137 ++
 src/ipc_listener.cpp                             |  315 ++++
 src/ipc_listener.hpp                             |  114 ++
 src/kqueue.cpp                                   |  226 +++
 src/kqueue.hpp                                   |  127 ++
 src/lb.cpp                                       |  170 +++
 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                                  |  100 ++
 src/mailbox.hpp                                  |   91 ++
 src/mailbox_safe.cpp                             |  111 ++
 src/mailbox_safe.hpp                             |   94 ++
 src/mechanism.cpp                                |  204 +++
 src/mechanism.hpp                                |  139 ++
 src/metadata.cpp                                 |   55 +
 src/metadata.hpp                                 |   70 +
 src/msg.cpp                                      |  597 ++++++++
 src/msg.hpp                                      |  265 ++++
 src/mtrie.cpp                                    |  440 ++++++
 src/mtrie.hpp                                    |  102 ++
 src/mutex.hpp                                    |  187 +++
 src/norm_engine.cpp                              |  728 +++++++++
 src/norm_engine.hpp                              |  188 +++
 src/null_mechanism.cpp                           |  358 +++++
 src/null_mechanism.hpp                           |   84 ++
 src/object.cpp                                   |  437 ++++++
 src/object.hpp                                   |  152 ++
 src/options.cpp                                  | 1051 +++++++++++++
 src/options.hpp                                  |  237 +++
 src/own.cpp                                      |  215 +++
 src/own.hpp                                      |  154 ++
 src/pair.cpp                                     |  141 ++
 src/pair.hpp                                     |   78 +
 src/pgm_receiver.cpp                             |  305 ++++
 src/pgm_receiver.hpp                             |  152 ++
 src/pgm_sender.cpp                               |  254 ++++
 src/pgm_sender.hpp                               |  129 ++
 src/pgm_socket.cpp                               |  716 +++++++++
 src/pgm_socket.hpp                               |  131 ++
 src/pipe.cpp                                     |  533 +++++++
 src/pipe.hpp                                     |  249 ++++
 src/plain_client.cpp                             |  222 +++
 src/plain_client.hpp                             |   79 +
 src/plain_server.cpp                             |  440 ++++++
 src/plain_server.hpp                             |   93 ++
 src/poll.cpp                                     |  190 +++
 src/poll.hpp                                     |  119 ++
 src/poller.hpp                                   |   64 +
 src/poller_base.cpp                              |  109 ++
 src/poller_base.hpp                              |   95 ++
 src/precompiled.cpp                              |   30 +
 src/precompiled.hpp                              |   56 +
 src/proxy.cpp                                    |  203 +++
 src/proxy.hpp                                    |   42 +
 src/pub.cpp                                      |   66 +
 src/pub.hpp                                      |   63 +
 src/pull.cpp                                     |   77 +
 src/pull.hpp                                     |   75 +
 src/push.cpp                                     |   76 +
 src/push.hpp                                     |   73 +
 src/radio.cpp                                    |  234 +++
 src/radio.hpp                                    |  107 ++
 src/random.cpp                                   |   61 +
 src/random.hpp                                   |   46 +
 src/raw_decoder.cpp                              |   78 +
 src/raw_decoder.hpp                              |   74 +
 src/raw_encoder.cpp                              |   50 +
 src/raw_encoder.hpp                              |   70 +
 src/reaper.cpp                                   |  140 ++
 src/reaper.hpp                                   |   94 ++
 src/rep.cpp                                      |  133 ++
 src/rep.hpp                                      |   73 +
 src/req.cpp                                      |  287 ++++
 src/req.hpp                                      |  120 ++
 src/router.cpp                                   |  506 +++++++
 src/router.hpp                                   |  146 ++
 src/select.cpp                                   |  234 +++
 src/select.hpp                                   |  140 ++
 src/server.cpp                                   |  183 +++
 src/server.hpp                                   |   96 ++
 src/session_base.cpp                             |  655 +++++++++
 src/session_base.hpp                             |  172 +++
 src/signaler.cpp                                 |  646 ++++++++
 src/signaler.hpp                                 |   91 ++
 src/socket_base.cpp                              | 1706 ++++++++++++++++++++++
 src/socket_base.hpp                              |  297 ++++
 src/socket_poller.cpp                            |  650 +++++++++
 src/socket_poller.hpp                            |  128 ++
 src/socks.cpp                                    |  286 ++++
 src/socks.hpp                                    |  135 ++
 src/socks_connecter.cpp                          |  478 ++++++
 src/socks_connecter.hpp                          |  164 +++
 src/stdint.hpp                                   |   76 +
 src/stream.cpp                                   |  318 ++++
 src/stream.hpp                                   |  107 ++
 src/stream_engine.cpp                            | 1087 ++++++++++++++
 src/stream_engine.hpp                            |  235 +++
 src/sub.cpp                                      |   90 ++
 src/sub.hpp                                      |   64 +
 src/tcp.cpp                                      |  280 ++++
 src/tcp.hpp                                      |   65 +
 src/tcp_address.cpp                              |  715 +++++++++
 src/tcp_address.hpp                              |  116 ++
 src/tcp_connecter.cpp                            |  393 +++++
 src/tcp_connecter.hpp                            |  135 ++
 src/tcp_listener.cpp                             |  335 +++++
 src/tcp_listener.hpp                             |   99 ++
 src/thread.cpp                                   |  144 ++
 src/thread.hpp                                   |   91 ++
 src/timers.cpp                                   |  169 +++
 src/timers.hpp                                   |  108 ++
 src/tipc_address.cpp                             |  117 ++
 src/tipc_address.hpp                             |   75 +
 src/tipc_connecter.cpp                           |  266 ++++
 src/tipc_connecter.hpp                           |  137 ++
 src/tipc_listener.cpp                            |  188 +++
 src/tipc_listener.hpp                            |  107 ++
 src/trie.cpp                                     |  344 +++++
 src/trie.hpp                                     |   86 ++
 src/v1_decoder.cpp                               |  157 ++
 src/v1_decoder.hpp                               |   69 +
 src/v1_encoder.cpp                               |   75 +
 src/v1_encoder.hpp                               |   59 +
 src/v2_decoder.cpp                               |  167 +++
 src/v2_decoder.hpp                               |   74 +
 src/v2_encoder.cpp                               |   77 +
 src/v2_encoder.hpp                               |   59 +
 src/v2_protocol.hpp                              |   49 +
 src/version.rc.in                                |   93 ++
 src/vmci.cpp                                     |   87 ++
 src/vmci.hpp                                     |   61 +
 src/vmci_address.cpp                             |  168 +++
 src/vmci_address.hpp                             |   71 +
 src/vmci_connecter.cpp                           |  291 ++++
 src/vmci_connecter.hpp                           |  136 ++
 src/vmci_listener.cpp                            |  219 +++
 src/vmci_listener.hpp                            |  102 ++
 src/windows.hpp                                  |   84 ++
 src/wire.hpp                                     |  108 ++
 src/xpub.cpp                                     |  299 ++++
 src/xpub.hpp                                     |  124 ++
 src/xsub.cpp                                     |  245 ++++
 src/xsub.hpp                                     |  103 ++
 src/ypipe.hpp                                    |  219 +++
 src/ypipe_base.hpp                               |   54 +
 src/ypipe_conflate.hpp                           |  137 ++
 src/yqueue.hpp                                   |  225 +++
 src/zmq.cpp                                      | 1368 +++++++++++++++++
 src/zmq_utils.cpp                                |  267 ++++
 tests/CMakeLists.txt                             |  135 ++
 tests/test_abstract_ipc.cpp                      |   67 +
 tests/test_atomics.cpp                           |   48 +
 tests/test_bind_src_address.cpp                  |   57 +
 tests/test_capabilities.cpp                      |   77 +
 tests/test_client_server.cpp                     |  106 ++
 tests/test_conflate.cpp                          |   82 ++
 tests/test_connect_delay_tipc.cpp                |  248 ++++
 tests/test_connect_resolve.cpp                   |   70 +
 tests/test_connect_rid.cpp                       |  191 +++
 tests/test_ctx_destroy.cpp                       |  100 ++
 tests/test_ctx_options.cpp                       |   80 +
 tests/test_diffserv.cpp                          |   80 +
 tests/test_disconnect_inproc.cpp                 |  136 ++
 tests/test_filter_ipc.cpp                        |  171 +++
 tests/test_fork.cpp                              |   91 ++
 tests/test_getsockopt_memset.cpp                 |   64 +
 tests/test_heartbeats.cpp                        |  325 +++++
 tests/test_hwm.cpp                               |  309 ++++
 tests/test_hwm_pubsub.cpp                        |  248 ++++
 tests/test_immediate.cpp                         |  238 +++
 tests/test_inproc_connect.cpp                    |  511 +++++++
 tests/test_invalid_rep.cpp                       |   98 ++
 tests/test_iov.cpp                               |  116 ++
 tests/test_ipc_wildcard.cpp                      |   65 +
 tests/test_issue_566.cpp                         |   95 ++
 tests/test_large_msg.cpp                         |   87 ++
 tests/test_last_endpoint.cpp                     |   66 +
 tests/test_many_sockets.cpp                      |  100 ++
 tests/test_metadata.cpp                          |  130 ++
 tests/test_monitor.cpp                           |  143 ++
 tests/test_msg_ffn.cpp                           |  138 ++
 tests/test_msg_flags.cpp                         |  127 ++
 tests/test_pair_inproc.cpp                       |   81 +
 tests/test_pair_ipc.cpp                          |   60 +
 tests/test_pair_tcp.cpp                          |   60 +
 tests/test_pair_tipc.cpp                         |   64 +
 tests/test_pair_vmci.cpp                         |   68 +
 tests/test_poller.cpp                            |  153 ++
 tests/test_probe_router.cpp                      |   82 ++
 tests/test_proxy.cpp                             |  283 ++++
 tests/test_proxy_single_socket.cpp               |  114 ++
 tests/test_proxy_terminate.cpp                   |  124 ++
 tests/test_pub_invert_matching.cpp               |  136 ++
 tests/test_radio_dish.cpp                        |  177 +++
 tests/test_req_correlate.cpp                     |  187 +++
 tests/test_req_relaxed.cpp                       |  137 ++
 tests/test_reqrep_device.cpp                     |  145 ++
 tests/test_reqrep_device_tipc.cpp                |  153 ++
 tests/test_reqrep_inproc.cpp                     |   60 +
 tests/test_reqrep_ipc.cpp                        |   60 +
 tests/test_reqrep_tcp.cpp                        |   60 +
 tests/test_reqrep_tipc.cpp                       |   64 +
 tests/test_reqrep_vmci.cpp                       |   68 +
 tests/test_router_handover.cpp                   |  111 ++
 tests/test_router_mandatory.cpp                  |   91 ++
 tests/test_router_mandatory_hwm.cpp              |  126 ++
 tests/test_router_mandatory_tipc.cpp             |   72 +
 tests/test_security_curve.cpp                    |  295 ++++
 tests/test_security_null.cpp                     |  191 +++
 tests/test_security_plain.cpp                    |  199 +++
 tests/test_setsockopt.cpp                        |   78 +
 tests/test_shutdown_stress.cpp                   |   90 ++
 tests/test_shutdown_stress_tipc.cpp              |  103 ++
 tests/test_sockopt_hwm.cpp                       |  145 ++
 tests/test_spec_dealer.cpp                       |  264 ++++
 tests/test_spec_pushpull.cpp                     |  303 ++++
 tests/test_spec_rep.cpp                          |  165 +++
 tests/test_spec_req.cpp                          |  263 ++++
 tests/test_spec_router.cpp                       |  214 +++
 tests/test_srcfd.cpp                             |  116 ++
 tests/test_stream.cpp                            |  333 +++++
 tests/test_stream_disconnect.cpp                 |  281 ++++
 tests/test_stream_empty.cpp                      |   70 +
 tests/test_stream_exceeds_buffer.cpp             |   81 +
 tests/test_stream_timeout.cpp                    |  226 +++
 tests/test_sub_forward.cpp                       |  101 ++
 tests/test_sub_forward_tipc.cpp                  |  111 ++
 tests/test_system.cpp                            |  100 ++
 tests/test_term_endpoint.cpp                     |  192 +++
 tests/test_term_endpoint_tipc.cpp                |  130 ++
 tests/test_thread_safe.cpp                       |   86 ++
 tests/test_timeo.cpp                             |   85 ++
 tests/test_timers.cpp                            |  126 ++
 tests/test_unbind_inproc.cpp                     |   43 +
 tests/test_unbind_wildcard.cpp                   |   48 +
 tests/test_xpub_manual.cpp                       |  355 +++++
 tests/test_xpub_nodrop.cpp                       |  118 ++
 tests/test_xpub_welcome_msg.cpp                  |   81 +
 tests/testutil.hpp                               |  321 ++++
 tools/curve_keygen.cpp                           |   58 +
 tweetnacl/contrib/randombytes/devurandom.c       |   44 +
 tweetnacl/contrib/randombytes/randombytes.h      |   21 +
 tweetnacl/contrib/randombytes/winrandom.c        |   43 +
 tweetnacl/src/tweetnacl.c                        |  818 +++++++++++
 tweetnacl/src/tweetnacl.h                        |  273 ++++
 tweetnacl/src/tweetnacl_base.h                   |   41 +
 version.sh                                       |   21 +
 558 files changed, 85510 insertions(+)

commit e424388608b63ac2b73dfdc51b0437b1a4e87772
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Thu Jan 28 19:11:27 2016 +0100

    Merge pull request #1730 from somdoron/master
    
    problem: request socket state machine check is not running

 .gitignore                                       |  163 +++
 .hgeol                                           |    2 +
 .mailmap                                         |   81 +
 .travis.yml                                      |   25 +
 AUTHORS                                          |  141 ++
 CMakeLists.txt                                   |  890 +++++++++++
 COPYING                                          |  674 +++++++++
 COPYING.LESSER                                   |  181 +++
 Dockerfile                                       |   11 +
 FindSodium.cmake                                 |   40 +
 INSTALL                                          |  246 ++++
 MAINTAINERS                                      |   56 +
 Makefile.am                                      |  756 ++++++++++
 NEWS                                             |  978 +++++++++++++
 README.cygwin.md                                 |   15 +
 README.md                                        |   57 +
 acinclude.m4                                     |  966 ++++++++++++
 appveyor.yml                                     |   85 ++
 autogen.sh                                       |   49 +
 branding.bmp                                     |  Bin 0 -> 25818 bytes
 builds/Makefile.am                               |   34 +
 builds/README                                    |    4 +
 builds/android/Dockerfile                        |   22 +
 builds/android/android_build_helper.sh           |  316 ++++
 builds/android/build.sh                          |   59 +
 builds/android/ci_build.sh                       |   30 +
 builds/cmake/Modules/FindAsciiDoc.cmake          |   26 +
 builds/cmake/Modules/TestZMQVersion.cmake        |    8 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake    |  129 ++
 builds/cmake/NSIS.template32.in                  |  952 ++++++++++++
 builds/cmake/NSIS.template64.in                  |  960 ++++++++++++
 builds/cmake/platform.hpp.in                     |   89 ++
 builds/cygwin/Makefile.cygwin                    |   47 +
 builds/mingw32/Makefile.mingw32                  |   47 +
 builds/mingw32/platform.hpp                      |   41 +
 builds/msvc/Makefile.am                          |  103 ++
 builds/msvc/build/buildall.bat                   |   10 +
 builds/msvc/build/buildbase.bat                  |   69 +
 builds/msvc/errno.cpp                            |   32 +
 builds/msvc/errno.hpp                            |   56 +
 builds/msvc/platform.hpp                         |   41 +
 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                           |   15 +
 builds/msvc/resource.h                           |   14 +
 builds/msvc/resource.rc                          |  Bin 0 -> 4642 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          |  266 ++++
 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   |   48 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj |   79 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj |   79 +
 builds/msvc/vs2010/libsodium.import.props        |   52 +
 builds/msvc/vs2010/libsodium.import.xml          |   17 +
 builds/msvc/vs2010/libzmq.import.props           |   66 +
 builds/msvc/vs2010/libzmq.import.xml             |   38 +
 builds/msvc/vs2010/libzmq.sln                    |  206 +++
 builds/msvc/vs2010/libzmq/libzmq.props           |   69 +
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  262 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  570 ++++++++
 builds/msvc/vs2010/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2010/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj   |   79 +
 builds/msvc/vs2010/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2010/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2010/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj |   79 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj |   79 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj |   79 +
 builds/msvc/vs2012/libsodium.import.props        |   52 +
 builds/msvc/vs2012/libsodium.import.xml          |   17 +
 builds/msvc/vs2012/libzmq.import.props           |   66 +
 builds/msvc/vs2012/libzmq.import.xml             |   38 +
 builds/msvc/vs2012/libzmq.sln                    |  206 +++
 builds/msvc/vs2012/libzmq/libzmq.props           |   69 +
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  262 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  570 ++++++++
 builds/msvc/vs2012/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2012/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj   |   79 +
 builds/msvc/vs2012/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2012/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2012/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj |   79 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj |   79 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj |   79 +
 builds/msvc/vs2013/libsodium.import.props        |   52 +
 builds/msvc/vs2013/libsodium.import.xml          |   17 +
 builds/msvc/vs2013/libzmq.import.props           |   66 +
 builds/msvc/vs2013/libzmq.import.xml             |   38 +
 builds/msvc/vs2013/libzmq.sln                    |  208 +++
 builds/msvc/vs2013/libzmq/libzmq.props           |   69 +
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  262 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  570 ++++++++
 builds/msvc/vs2013/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2013/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj   |   79 +
 builds/msvc/vs2013/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2013/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2013/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj |   79 +
 builds/msvc/vs2015/libsodium.import.props        |   52 +
 builds/msvc/vs2015/libsodium.import.xml          |   17 +
 builds/msvc/vs2015/libzmq.import.props           |   66 +
 builds/msvc/vs2015/libzmq.import.xml             |   38 +
 builds/msvc/vs2015/libzmq.sln                    |  208 +++
 builds/msvc/vs2015/libzmq/libzmq.props           |   69 +
 builds/msvc/vs2015/libzmq/libzmq.vcxproj         |  262 ++++
 builds/msvc/vs2015/libzmq/libzmq.vcxproj.filters |  570 ++++++++
 builds/msvc/vs2015/libzmq/libzmq.xml             |   25 +
 builds/nuget/libzmq.autopkg                      |   52 +
 builds/nuget/readme.nuget                        |   20 +
 builds/openwrt/Makefile                          |   70 +
 builds/valgrind/valgrind.supp                    |   14 +
 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                                      |   33 +
 configure.ac                                     |  622 ++++++++
 doc/Makefile.am                                  |   59 +
 doc/asciidoc.conf                                |   56 +
 doc/zmq.txt                                      |  267 ++++
 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                              |   87 ++
 doc/zmq_ctx_new.txt                              |   50 +
 doc/zmq_ctx_set.txt                              |  125 ++
 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_disconnect.txt                           |   75 +
 doc/zmq_errno.txt                                |   50 +
 doc/zmq_getsockopt.txt                           |  871 +++++++++++
 doc/zmq_gssapi.txt                               |   57 +
 doc/zmq_has.txt                                  |   43 +
 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                             |   75 +
 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                                |   98 ++
 doc/zmq_proxy_steerable.txt                      |   98 ++
 doc/zmq_recv.txt                                 |   90 ++
 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                           | 1222 ++++++++++++++++
 doc/zmq_socket.txt                               |  539 +++++++
 doc/zmq_socket_monitor.txt                       |  239 +++
 doc/zmq_strerror.txt                             |   56 +
 doc/zmq_tcp.txt                                  |  118 ++
 doc/zmq_term.txt                                 |   66 +
 doc/zmq_tipc.txt                                 |   83 ++
 doc/zmq_unbind.txt                               |   90 ++
 doc/zmq_version.txt                              |   54 +
 doc/zmq_vmci.txt                                 |   97 ++
 doc/zmq_z85_decode.txt                           |   50 +
 doc/zmq_z85_encode.txt                           |   57 +
 include/zmq.h                                    |  577 ++++++++
 include/zmq_utils.h                              |   30 +
 installer.ico                                    |  Bin 0 -> 2842 bytes
 packaging/README                                 |    4 +
 packaging/nuget/package.bat                      |   13 +
 packaging/nuget/package.config                   |    6 +
 packaging/nuget/package.gsl                      |  265 ++++
 packaging/nuget/package.nuspec                   |   99 ++
 packaging/nuget/package.targets                  |  130 ++
 packaging/nuget/package.xml                      |   22 +
 packaging/redhat/zeromq.spec.in                  |  201 +++
 perf/inproc_lat.cpp                              |  241 +++
 perf/inproc_thr.cpp                              |  251 ++++
 perf/local_lat.cpp                               |  117 ++
 perf/local_thr.cpp                               |  141 ++
 perf/remote_lat.cpp                              |  130 ++
 perf/remote_thr.cpp                              |  108 ++
 src/address.cpp                                  |  124 ++
 src/address.hpp                                  |   75 +
 src/array.hpp                                    |  163 +++
 src/atomic_counter.hpp                           |  230 +++
 src/atomic_ptr.hpp                               |  229 +++
 src/blob.hpp                                     |  139 ++
 src/client.cpp                                   |  115 ++
 src/client.hpp                                   |   81 +
 src/clock.cpp                                    |  235 +++
 src/clock.hpp                                    |   79 +
 src/command.hpp                                  |  171 +++
 src/condition_variable.hpp                       |  209 +++
 src/config.hpp                                   |   92 ++
 src/ctx.cpp                                      |  626 ++++++++
 src/ctx.hpp                                      |  237 +++
 src/curve_client.cpp                             |  464 ++++++
 src/curve_client.hpp                             |  129 ++
 src/curve_server.cpp                             |  734 ++++++++++
 src/curve_server.hpp                             |  138 ++
 src/dbuffer.hpp                                  |  144 ++
 src/dealer.cpp                                   |  141 ++
 src/dealer.hpp                                   |   89 ++
 src/decoder.hpp                                  |  196 +++
 src/decoder_allocators.cpp                       |  143 ++
 src/decoder_allocators.hpp                       |  154 ++
 src/devpoll.cpp                                  |  204 +++
 src/devpoll.hpp                                  |  119 ++
 src/dish.cpp                                     |  246 ++++
 src/dish.hpp                                     |   98 ++
 src/dist.cpp                                     |  232 +++
 src/dist.hpp                                     |  120 ++
 src/encoder.hpp                                  |  185 +++
 src/epoll.cpp                                    |  194 +++
 src/epoll.hpp                                    |  115 ++
 src/err.cpp                                      |  386 +++++
 src/err.hpp                                      |  168 +++
 src/fd.hpp                                       |   54 +
 src/fq.cpp                                       |  162 ++
 src/fq.hpp                                       |   92 ++
 src/gssapi_client.cpp                            |  230 +++
 src/gssapi_client.hpp                            |   93 ++
 src/gssapi_mechanism_base.cpp                    |  351 +++++
 src/gssapi_mechanism_base.hpp                    |  132 ++
 src/gssapi_server.cpp                            |  377 +++++
 src/gssapi_server.hpp                            |   96 ++
 src/i_decoder.hpp                                |   64 +
 src/i_encoder.hpp                                |   60 +
 src/i_engine.hpp                                 |   65 +
 src/i_mailbox.hpp                                |   60 +
 src/i_poll_events.hpp                            |   55 +
 src/io_object.cpp                                |  116 ++
 src/io_object.hpp                                |   89 ++
 src/io_thread.cpp                                |  113 ++
 src/io_thread.hpp                                |   99 ++
 src/ip.cpp                                       |  177 +++
 src/ip.hpp                                       |   57 +
 src/ipc_address.cpp                              |  105 ++
 src/ipc_address.hpp                              |   76 +
 src/ipc_connecter.cpp                            |  278 ++++
 src/ipc_connecter.hpp                            |  137 ++
 src/ipc_listener.cpp                             |  315 ++++
 src/ipc_listener.hpp                             |  114 ++
 src/kqueue.cpp                                   |  226 +++
 src/kqueue.hpp                                   |  127 ++
 src/lb.cpp                                       |  170 +++
 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                                  |  100 ++
 src/mailbox.hpp                                  |   91 ++
 src/mailbox_safe.cpp                             |  111 ++
 src/mailbox_safe.hpp                             |   94 ++
 src/mechanism.cpp                                |  204 +++
 src/mechanism.hpp                                |  139 ++
 src/metadata.cpp                                 |   55 +
 src/metadata.hpp                                 |   70 +
 src/msg.cpp                                      |  533 +++++++
 src/msg.hpp                                      |  230 +++
 src/mtrie.cpp                                    |  440 ++++++
 src/mtrie.hpp                                    |  102 ++
 src/mutex.hpp                                    |  187 +++
 src/norm_engine.cpp                              |  728 +++++++++
 src/norm_engine.hpp                              |  188 +++
 src/null_mechanism.cpp                           |  358 +++++
 src/null_mechanism.hpp                           |   84 ++
 src/object.cpp                                   |  437 ++++++
 src/object.hpp                                   |  152 ++
 src/options.cpp                                  | 1051 +++++++++++++
 src/options.hpp                                  |  237 +++
 src/own.cpp                                      |  215 +++
 src/own.hpp                                      |  154 ++
 src/pair.cpp                                     |  141 ++
 src/pair.hpp                                     |   78 +
 src/pgm_receiver.cpp                             |  305 ++++
 src/pgm_receiver.hpp                             |  152 ++
 src/pgm_sender.cpp                               |  254 ++++
 src/pgm_sender.hpp                               |  129 ++
 src/pgm_socket.cpp                               |  716 +++++++++
 src/pgm_socket.hpp                               |  131 ++
 src/pipe.cpp                                     |  533 +++++++
 src/pipe.hpp                                     |  249 ++++
 src/plain_client.cpp                             |  222 +++
 src/plain_client.hpp                             |   79 +
 src/plain_server.cpp                             |  440 ++++++
 src/plain_server.hpp                             |   93 ++
 src/poll.cpp                                     |  190 +++
 src/poll.hpp                                     |  119 ++
 src/poller.hpp                                   |   64 +
 src/poller_base.cpp                              |  109 ++
 src/poller_base.hpp                              |   95 ++
 src/precompiled.cpp                              |   30 +
 src/precompiled.hpp                              |   56 +
 src/proxy.cpp                                    |  203 +++
 src/proxy.hpp                                    |   42 +
 src/pub.cpp                                      |   66 +
 src/pub.hpp                                      |   63 +
 src/pull.cpp                                     |   77 +
 src/pull.hpp                                     |   75 +
 src/push.cpp                                     |   76 +
 src/push.hpp                                     |   73 +
 src/radio.cpp                                    |  170 +++
 src/radio.hpp                                    |   82 ++
 src/random.cpp                                   |   61 +
 src/random.hpp                                   |   46 +
 src/raw_decoder.cpp                              |   78 +
 src/raw_decoder.hpp                              |   74 +
 src/raw_encoder.cpp                              |   50 +
 src/raw_encoder.hpp                              |   70 +
 src/reaper.cpp                                   |  140 ++
 src/reaper.hpp                                   |   94 ++
 src/rep.cpp                                      |  133 ++
 src/rep.hpp                                      |   73 +
 src/req.cpp                                      |  287 ++++
 src/req.hpp                                      |  120 ++
 src/router.cpp                                   |  506 +++++++
 src/router.hpp                                   |  146 ++
 src/select.cpp                                   |  234 +++
 src/select.hpp                                   |  140 ++
 src/server.cpp                                   |  183 +++
 src/server.hpp                                   |   96 ++
 src/session_base.cpp                             |  647 ++++++++
 src/session_base.hpp                             |  172 +++
 src/signaler.cpp                                 |  646 ++++++++
 src/signaler.hpp                                 |   91 ++
 src/socket_base.cpp                              | 1706 ++++++++++++++++++++++
 src/socket_base.hpp                              |  297 ++++
 src/socket_poller.cpp                            |  650 +++++++++
 src/socket_poller.hpp                            |  128 ++
 src/socks.cpp                                    |  286 ++++
 src/socks.hpp                                    |  135 ++
 src/socks_connecter.cpp                          |  478 ++++++
 src/socks_connecter.hpp                          |  164 +++
 src/stdint.hpp                                   |   76 +
 src/stream.cpp                                   |  318 ++++
 src/stream.hpp                                   |  107 ++
 src/stream_engine.cpp                            | 1087 ++++++++++++++
 src/stream_engine.hpp                            |  235 +++
 src/sub.cpp                                      |   90 ++
 src/sub.hpp                                      |   64 +
 src/tcp.cpp                                      |  280 ++++
 src/tcp.hpp                                      |   65 +
 src/tcp_address.cpp                              |  715 +++++++++
 src/tcp_address.hpp                              |  116 ++
 src/tcp_connecter.cpp                            |  393 +++++
 src/tcp_connecter.hpp                            |  135 ++
 src/tcp_listener.cpp                             |  335 +++++
 src/tcp_listener.hpp                             |   99 ++
 src/thread.cpp                                   |  144 ++
 src/thread.hpp                                   |   91 ++
 src/timers.cpp                                   |  169 +++
 src/timers.hpp                                   |  108 ++
 src/tipc_address.cpp                             |  117 ++
 src/tipc_address.hpp                             |   75 +
 src/tipc_connecter.cpp                           |  266 ++++
 src/tipc_connecter.hpp                           |  137 ++
 src/tipc_listener.cpp                            |  188 +++
 src/tipc_listener.hpp                            |  107 ++
 src/trie.cpp                                     |  344 +++++
 src/trie.hpp                                     |   86 ++
 src/v1_decoder.cpp                               |  157 ++
 src/v1_decoder.hpp                               |   69 +
 src/v1_encoder.cpp                               |   75 +
 src/v1_encoder.hpp                               |   59 +
 src/v2_decoder.cpp                               |  167 +++
 src/v2_decoder.hpp                               |   74 +
 src/v2_encoder.cpp                               |   77 +
 src/v2_encoder.hpp                               |   59 +
 src/v2_protocol.hpp                              |   49 +
 src/version.rc.in                                |   93 ++
 src/vmci.cpp                                     |   87 ++
 src/vmci.hpp                                     |   61 +
 src/vmci_address.cpp                             |  168 +++
 src/vmci_address.hpp                             |   71 +
 src/vmci_connecter.cpp                           |  291 ++++
 src/vmci_connecter.hpp                           |  136 ++
 src/vmci_listener.cpp                            |  219 +++
 src/vmci_listener.hpp                            |  102 ++
 src/windows.hpp                                  |   84 ++
 src/wire.hpp                                     |  108 ++
 src/xpub.cpp                                     |  299 ++++
 src/xpub.hpp                                     |  124 ++
 src/xsub.cpp                                     |  245 ++++
 src/xsub.hpp                                     |  103 ++
 src/ypipe.hpp                                    |  219 +++
 src/ypipe_base.hpp                               |   54 +
 src/ypipe_conflate.hpp                           |  137 ++
 src/yqueue.hpp                                   |  225 +++
 src/zmq.cpp                                      | 1358 +++++++++++++++++
 src/zmq_utils.cpp                                |  267 ++++
 tests/CMakeLists.txt                             |  135 ++
 tests/test_abstract_ipc.cpp                      |   67 +
 tests/test_atomics.cpp                           |   48 +
 tests/test_bind_src_address.cpp                  |   57 +
 tests/test_capabilities.cpp                      |   77 +
 tests/test_client_server.cpp                     |  106 ++
 tests/test_conflate.cpp                          |   82 ++
 tests/test_connect_delay_tipc.cpp                |  248 ++++
 tests/test_connect_resolve.cpp                   |   70 +
 tests/test_connect_rid.cpp                       |  191 +++
 tests/test_ctx_destroy.cpp                       |  100 ++
 tests/test_ctx_options.cpp                       |   80 +
 tests/test_diffserv.cpp                          |   80 +
 tests/test_disconnect_inproc.cpp                 |  136 ++
 tests/test_filter_ipc.cpp                        |  171 +++
 tests/test_fork.cpp                              |   91 ++
 tests/test_getsockopt_memset.cpp                 |   64 +
 tests/test_heartbeats.cpp                        |  325 +++++
 tests/test_hwm.cpp                               |  309 ++++
 tests/test_hwm_pubsub.cpp                        |  248 ++++
 tests/test_immediate.cpp                         |  238 +++
 tests/test_inproc_connect.cpp                    |  511 +++++++
 tests/test_invalid_rep.cpp                       |   98 ++
 tests/test_iov.cpp                               |  116 ++
 tests/test_ipc_wildcard.cpp                      |   65 +
 tests/test_issue_566.cpp                         |   95 ++
 tests/test_large_msg.cpp                         |   87 ++
 tests/test_last_endpoint.cpp                     |   66 +
 tests/test_many_sockets.cpp                      |  100 ++
 tests/test_metadata.cpp                          |  130 ++
 tests/test_monitor.cpp                           |  143 ++
 tests/test_msg_ffn.cpp                           |  138 ++
 tests/test_msg_flags.cpp                         |  127 ++
 tests/test_pair_inproc.cpp                       |   81 +
 tests/test_pair_ipc.cpp                          |   60 +
 tests/test_pair_tcp.cpp                          |   60 +
 tests/test_pair_tipc.cpp                         |   64 +
 tests/test_pair_vmci.cpp                         |   68 +
 tests/test_poller.cpp                            |  153 ++
 tests/test_probe_router.cpp                      |   82 ++
 tests/test_proxy.cpp                             |  283 ++++
 tests/test_proxy_single_socket.cpp               |  114 ++
 tests/test_proxy_terminate.cpp                   |  124 ++
 tests/test_pub_invert_matching.cpp               |  136 ++
 tests/test_radio_dish.cpp                        |  128 ++
 tests/test_req_correlate.cpp                     |  187 +++
 tests/test_req_relaxed.cpp                       |  137 ++
 tests/test_reqrep_device.cpp                     |  145 ++
 tests/test_reqrep_device_tipc.cpp                |  153 ++
 tests/test_reqrep_inproc.cpp                     |   60 +
 tests/test_reqrep_ipc.cpp                        |   60 +
 tests/test_reqrep_tcp.cpp                        |   60 +
 tests/test_reqrep_tipc.cpp                       |   64 +
 tests/test_reqrep_vmci.cpp                       |   68 +
 tests/test_router_handover.cpp                   |  111 ++
 tests/test_router_mandatory.cpp                  |   91 ++
 tests/test_router_mandatory_hwm.cpp              |  126 ++
 tests/test_router_mandatory_tipc.cpp             |   72 +
 tests/test_security_curve.cpp                    |  295 ++++
 tests/test_security_null.cpp                     |  191 +++
 tests/test_security_plain.cpp                    |  199 +++
 tests/test_setsockopt.cpp                        |   78 +
 tests/test_shutdown_stress.cpp                   |   90 ++
 tests/test_shutdown_stress_tipc.cpp              |  103 ++
 tests/test_sockopt_hwm.cpp                       |  145 ++
 tests/test_spec_dealer.cpp                       |  264 ++++
 tests/test_spec_pushpull.cpp                     |  303 ++++
 tests/test_spec_rep.cpp                          |  165 +++
 tests/test_spec_req.cpp                          |  263 ++++
 tests/test_spec_router.cpp                       |  214 +++
 tests/test_srcfd.cpp                             |  116 ++
 tests/test_stream.cpp                            |  333 +++++
 tests/test_stream_disconnect.cpp                 |  281 ++++
 tests/test_stream_empty.cpp                      |   70 +
 tests/test_stream_exceeds_buffer.cpp             |   81 +
 tests/test_stream_timeout.cpp                    |  226 +++
 tests/test_sub_forward.cpp                       |  101 ++
 tests/test_sub_forward_tipc.cpp                  |  111 ++
 tests/test_system.cpp                            |  100 ++
 tests/test_term_endpoint.cpp                     |  192 +++
 tests/test_term_endpoint_tipc.cpp                |  130 ++
 tests/test_thread_safe.cpp                       |   86 ++
 tests/test_timeo.cpp                             |   85 ++
 tests/test_timers.cpp                            |  126 ++
 tests/test_unbind_inproc.cpp                     |   43 +
 tests/test_unbind_wildcard.cpp                   |   48 +
 tests/test_xpub_manual.cpp                       |  355 +++++
 tests/test_xpub_nodrop.cpp                       |  118 ++
 tests/test_xpub_welcome_msg.cpp                  |   81 +
 tests/testutil.hpp                               |  321 ++++
 tools/curve_keygen.cpp                           |   58 +
 tweetnacl/contrib/randombytes/devurandom.c       |   44 +
 tweetnacl/contrib/randombytes/randombytes.h      |   21 +
 tweetnacl/contrib/randombytes/winrandom.c        |   43 +
 tweetnacl/src/tweetnacl.c                        |  818 +++++++++++
 tweetnacl/src/tweetnacl.h                        |  273 ++++
 tweetnacl/src/tweetnacl_base.h                   |   41 +
 version.sh                                       |   21 +
 558 files changed, 85114 insertions(+)

commit 1bfff06b8d4b578b16704fbdfc24e5ff74038d16
Merge: 235a1db 166a14c
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Sat May 2 01:17:56 2015 +1000

    Merge pull request #3 from CommanderBubble/FD-SETSIZE-update
    
    FD_SETSIZE Increase to 1024

commit 166a14c4a507b7173a12300bd49ab7385dc39009
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Sat May 2 01:13:33 2015 +1000

    Update configure.ac

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

commit bd795d6f7a7c6c4ad95fc19b975c20ed962abc26
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Sat May 2 01:12:22 2015 +1000

    Update configure.ac

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

commit 095741cd9c7c623a62766edc8897c85462160d73
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Sat May 2 01:11:54 2015 +1000

    set FD_SETSIZE to 1024 on mingw
    
    Sets FD_SETSIZE to 1024 under mingw systems, increasing it from the default of 64, and brings it into line with the previous limit for CMake builds on mingw.

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

commit 235a1dbf7d2df6861eb3621c670987f0896eceb0
Merge: a53404f 43a1192
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Sat May 2 00:54:49 2015 +1000

    Merge pull request #2 from zeromq/master
    
    update to current master

commit 43a1192ca4f541f7d213d4e8712e437a688bb7e6
Merge: eead3bc 7488876
Author: Richard Newton <richard_newton@waters.com>
Date:   Fri May 1 10:52:05 2015 +0100

    Merge pull request #1390 from hintjens/master
    
    Problem: incomplete specs for test_proxy_terminate

commit 74888769d664cb447bcff00298b6f74861afd9e1
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 1 11:31:45 2015 +0200

    Problem: incomplete specs for test_proxy_terminate
    
    Solution: fixed this in Makefile.am

 Makefile.am | 3 +++
 1 file changed, 3 insertions(+)

commit eead3bc6615cc0d8a4b34c7d40dd8a14ab267c0e
Merge: e1e9fb3 7b9e9b8
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 1 11:18:56 2015 +0200

    Merge pull request #1388 from rikvdh/issue-1382
    
    Fix for issue #1382

commit 7b9e9b838d2868c7fd4db47c09e23d831dc27925
Author: Rik van der Heijden <mail@rikvanderheijden.com>
Date:   Fri Apr 24 23:01:20 2015 +0200

    Issue #1382: Do not send data to backend when there are no listeners (+ tests)

 .gitignore                     |   1 +
 AUTHORS                        |   1 +
 Makefile.am                    |   1 +
 src/proxy.cpp                  |   6 ++-
 tests/CMakeLists.txt           |   1 +
 tests/test_proxy_terminate.cpp | 113 +++++++++++++++++++++++++++++++++++++++++
 6 files changed, 121 insertions(+), 2 deletions(-)

commit e1e9fb3629fb96cfb965d224c82dadfd0eabd453
Merge: 3ec0e77 7e8ba0e
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Apr 28 14:02:54 2015 +0300

    Merge pull request #1387 from c-rack/1386-libsodium-checkout
    
    Solution: Build libsodium from latest master branch. Fixes 1386.

commit 7e8ba0ecff4c26492a5560acef4473e22600fec5
Author: Constantin Rack <constantin@rack.li>
Date:   Tue Apr 28 10:42:56 2015 +0200

    Solution: Build libsodium from latest master branch. Fixes 1386.

 builds/qt-android/build.sh | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

commit 3ec0e770b57be93b6dce3a0c7b5f6ea4be2e3174
Merge: aabbe3f 2e06737
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Apr 28 08:22:47 2015 +0200

    Merge pull request #1384 from hurtonm/master
    
    Release memory on connection termination for pub, push sockets

commit 2e06737bf4b85fbb2d9d085566b48f02e0208798
Author: Martin Hurton <hurtonm@gmail.com>
Date:   Tue Apr 28 07:44:22 2015 +0200

    pub: Don't delay pipe termination

 src/pub.cpp | 13 +++++++++++++
 src/pub.hpp |  1 +
 2 files changed, 14 insertions(+)

commit 09a65c55989111103a525da0c5f05897dfe99645
Author: Martin Hurton <hurtonm@gmail.com>
Date:   Tue Apr 28 07:40:31 2015 +0200

    push: Don't delay pipe termination

 src/push.cpp | 3 +++
 1 file changed, 3 insertions(+)

commit aabbe3f33a54b68443f3af8042e09a8c076ef921
Merge: dbacc34 c2dcc80
Author: Richard Newton <richard_newton@waters.com>
Date:   Mon Apr 27 13:33:55 2015 +0100

    Merge pull request #1383 from somdoron/master
    
    change minimum version to windows vista

commit c2dcc8060293fd5480219b0afaf5833a93afc8ba
Author: somdoron <somdoron@gmail.com>
Date:   Sat Apr 25 23:21:27 2015 +0300

    change minimum version to windows vista and implement dummy condition variable for lower versions

 builds/cmake/platform.hpp.in | 10 ----------
 builds/mingw32/platform.hpp  |  9 ---------
 builds/msvc/platform.hpp     |  8 --------
 src/condition_variable.hpp   | 43 +++++++++++++++++++++++++++++++++++++++++++
 src/windows.hpp              |  4 ++--
 5 files changed, 45 insertions(+), 29 deletions(-)

commit dbacc34238382f27d7a1bfa4aa5122be30172daa
Merge: cd830dd 30bd7c4
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed Apr 22 08:45:19 2015 +0300

    Merge pull request #1379 from evoskuil/master
    
    Problem: integer narrowing issues.

commit 30bd7c481e3151fa03ea0f32948eccebbe5b1372
Author: evoskuil <eric@voskuil.org>
Date:   Tue Apr 21 22:26:32 2015 -0700

    Fix integer narrowing issues.

 src/options.cpp         |  2 +-
 src/plain_server.cpp    |  2 +-
 src/socks.cpp           | 19 +++++++++++--------
 src/socks.hpp           | 10 +++++-----
 src/socks_connecter.cpp |  6 +++---
 src/stdint.hpp          |  4 ++++
 src/stream.cpp          |  5 ++---
 src/stream_engine.cpp   |  2 +-
 src/tcp_connecter.cpp   |  4 ++--
 src/tcp_listener.cpp    |  6 +++---
 src/zmq_utils.cpp       |  2 +-
 11 files changed, 34 insertions(+), 28 deletions(-)

commit cd830dd203f5b61deec8cf64e9f42389a2e00959
Merge: 88ac631 a53404f
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Apr 21 14:15:14 2015 +0200

    Merge pull request #1378 from CommanderBubble/master
    
    Allow configure to support mingw64

commit a53404f2f90d6b9e5ce2665e41dced09455fb117
Merge: 04a9d58 c9bdcfc
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Tue Apr 21 22:03:59 2015 +1000

    Merge pull request #1 from CommanderBubble/CommanderBubble-configure.ac-adds_mingw64_support
    
    allow host_os to accept mingw64

commit 88ac63189c8320e81cc2e61613b0888d34fb463d
Merge: 9a4c4da 594e3dc
Author: Richard Newton <richard_newton@waters.com>
Date:   Mon Apr 20 12:28:54 2015 +0100

    Merge pull request #1341 from hintjens/master
    
    Problem: issue #1144, 1377

commit 594e3dccebc164502bc1cf437c8bb51108e67f55
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Apr 20 12:51:10 2015 +0200

    Problem: shutdown asserts if WSASTARUP wasn't done previously
    
    This is a silly assertion that causes problems if libzmq.dll is
    called in some esoteric ways.
    
    Solution: if the shutdown code detects WSANOTINITIALISED, then
    exit silently.
    
    Fixes #1377
    Fixes #1144

 src/signaler.cpp | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

commit 0673cd4e69296ec912103cb3dbe00e0d9fbc3b69
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Feb 6 09:36:47 2015 +0100

    Problem: test_disconnect_inproc sometimes fails
    
    Solution: add settle pause after zmq_connect
    
    Fixes #1340

 tests/test_disconnect_inproc.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 9a4c4da265cd9a534a9d23f14e2a2aedd87ae456
Merge: 04a9d58 8957ad5
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Apr 18 08:48:50 2015 +0200

    Merge pull request #1375 from natano/configure_bitrig
    
    Add Bitrig to OS detection in configure.ac.

commit 8957ad5edff47c28d852657cf0b69ba5ae20f11c
Author: Martin Natano <natano@natano.net>
Date:   Fri Apr 17 22:14:53 2015 +0200

    Add Bitrig to OS detection in configure.ac.

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

commit c9bdcfc58486ef42946aea28d34c45c0d125a2fd
Author: Michael <CommanderBubble@users.noreply.github.com>
Date:   Thu Apr 16 00:40:32 2015 +1000

    allow host_os to accept mingw64
    
    Changes the pattern for the host_os matches to *mingw* from *mingw32* to accept both mingw32 and mingw64 versions.

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

commit 04a9d582fdfdc980ac4b2a55f2d22b199ef04e6b
Merge: 6b4d9bc d4a5803
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Apr 14 18:36:45 2015 +0200

    Merge pull request #1374 from kreuzberger/master
    
    Fix for issue #1287: ZMQ_XPUB_NODROP documentation

commit d4a580349556afa98d98e4fa21532ccb7226e86f
Author: Jörg Kreuzberger <joerg@kreuzberger.eu>
Date:   Tue Apr 14 18:32:06 2015 +0200

    Update zmq_setsockopt.txt
    
    #1287

 doc/zmq_setsockopt.txt | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 18b6e6803bd0b8a11911d4adb3a0668f9630a347
Author: Jörg Kreuzberger <joerg@kreuzberger.eu>
Date:   Tue Apr 14 18:30:27 2015 +0200

    Add documenation for ZMQ_XPUP_NODROP
    
    fix for issue #1287

 doc/zmq_setsockopt.txt | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

commit 6b4d9bca0c31fc8131749396fd996d17761c999f
Merge: 2d435eb edc0640
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sun Mar 15 14:14:20 2015 +0100

    Merge pull request #1370 from calid/unbind-enoent
    
    doc: add ENOENT to list of zmq_unbind error codes

commit edc0640206f72933425814e11db8ac20f0824aee
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Mar 15 08:02:51 2015 -0500

    doc: add ENOENT to list of zmq_unbind error codes
    
    Resolves zeromq/libzmq#1353

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

commit 2d435eb692657d18faab7219a2c7f2bcf8ca6da3
Merge: 4820d49 023505a
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sun Mar 15 12:53:26 2015 +0100

    Merge pull request #1369 from calid/ctx-term-vs-destroy
    
    update zmq_ctx_term description for consistency

commit 023505acede414c879f63415775bfee98678342e
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Mar 15 06:29:21 2015 -0500

    update zmq_ctx_term description for consistency
    
    zmq_term and zmq_ctx_destroy are just aliases for zmq_ctx_term. that
    being the case use 'terminate' in the description for all three so there
    isn't any confusion about behavior.
    
    also update the deprecates list in zmq_ctx_term to include
    zmq_ctx_destroy.

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

commit 4820d493b039eeca8ac017590dcc4c5d635158c5
Merge: eb34533 4c92fef
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sun Mar 15 09:51:40 2015 +0100

    Merge pull request #1368 from calid/docfix-zmq-msg-init
    
    doc: zmq_msg_init does not set errno

commit 4c92fefe1bef9c19d35a9de54d27ef709b93b19c
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Mar 15 02:12:02 2015 -0500

    doc: zmq_msg_init does not set errno
    
    In fact it always returns zero.

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

commit eb3453372868a583bfff7e83e4dd197806e97ca3
Merge: 6b06bc3 1e27b36
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Mar 14 13:18:06 2015 +0100

    Merge pull request #1367 from evoskuil/master
    
    Problem: wrong default VC rt lib for release dynamic exe.

commit 1e27b364a45b1e9e9356db3404eeddd91f9ed87f
Author: evoskuil <eric@voskuil.org>
Date:   Sat Mar 14 05:10:40 2015 -0700

    Fix default VC rt lib for release dynamic exe.

 builds/msvc/properties/ReleaseDEXE.props | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6b06bc310f8f5c15c5d888c243474ce8b51ee2d1
Merge: ec4200a 032c5ed
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Wed Mar 11 10:46:06 2015 +0100

    Merge pull request #1366 from xantares/patch-1
    
    fix CMP0053 warning with cmake 3.1

commit 032c5eda3d8e8bfd6eddf3da8d7297d4707961ea
Author: xantares <xantares09@hotmail.com>
Date:   Wed Mar 11 10:35:59 2015 +0100

    fix CMP0053 warning with cmake 3.1

 builds/cmake/Modules/FindAsciiDoc.cmake | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit ec4200a9d3701826dc8748988fefd1de70c227fb
Merge: 1a5ced9 0f24f67
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Wed Mar 11 10:25:45 2015 +0100

    Merge pull request #1365 from xantares/master
    
    fix cmake build system

commit 0f24f675f54eaffd8235f4c3fc7a1566ca682d86
Author: xantares <xantares09@hotmail.com>
Date:   Wed Mar 11 09:15:40 2015 +0000

    set soversion without ZMQ_BUILD_FRAMEWORK

 CMakeLists.txt | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

commit 80044c9ed650e9f05396eea720f3550eb87329db
Author: xantares <xantares09@hotmail.com>
Date:   Wed Mar 11 09:10:23 2015 +0000

    mutualize win32 flags

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

commit 7dfa7b7a5d2bbc5c1a935b5289321ad9bfe500cc
Author: xantares <xantares09@hotmail.com>
Date:   Wed Mar 11 09:03:21 2015 +0000

    do not mix DLL_EXPORT & ZMQ_STATIC definitions

 CMakeLists.txt | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

commit 1d2b34dbe43f0a2ae7875ca1f8954ec4463fb470
Author: xantares <xantares09@hotmail.com>
Date:   Wed Mar 11 08:51:59 2015 +0000

    install *.txt in share/zmq

 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 866e752b04a6460e4849ed6be83605942b1bda6a
Author: xantares <xantares09@hotmail.com>
Date:   Wed Mar 11 08:50:39 2015 +0000

    do not install sources

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

commit 1a5ced9f474edbb33c39a65fdb62c0a1e87e32ca
Merge: f053854 d47980a
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Fri Feb 20 05:59:31 2015 +0100

    Merge pull request #1361 from rodgert/master
    
    Allow zmq_msg_gets checks to assert rather than segfault

commit d47980a6ed9e0903bb87f10560fd6472b57b0b8a
Author: Thomas Rodgers <trodgers@drw.com>
Date:   Thu Feb 19 20:28:10 2015 -0600

    Allow zmq_msg_gets checks to assert rather than segfault

 tests/test_stream.cpp | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

commit f053854e515fcb59649e7886fd9be2f4b4953237
Merge: b7e5275 5ed6ac6
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Feb 19 22:09:58 2015 +0100

    Merge pull request #1360 from hurtonm/master
    
    Adjust number of sent messages on hiccups

commit 5ed6ac60e258a6e67a2fdc3a75ddfdcc4db16596
Author: Martin Hurton <hurtonm@gmail.com>
Date:   Thu Feb 19 21:38:10 2015 +0100

    Adjust number of sent messages on hiccups
    
    Not adjusting the sent message count may lead to situation when SUB
    socket does not forward its subscriptions.

 src/pipe.cpp | 2 ++
 1 file changed, 2 insertions(+)

commit b7e52755e4a9abb4d9d99b9f0a65b4fa42c4227c
Merge: 1e6e5b1 700f7bf
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Thu Feb 19 20:33:32 2015 +0100

    Merge pull request #1359 from rodgert/master
    
    resolve #1347 addresses issue of no metadata on identity frame

commit 700f7bfede5f7a1614d2e91ffbe03dc5478f8904
Author: Thomas Rodgers <trodgers@drw.com>
Date:   Thu Feb 19 13:22:32 2015 -0600

    resolve #1347 addresses issue of no metadata on identity frame

 src/stream.cpp        | 6 ++++++
 tests/test_stream.cpp | 3 +++
 2 files changed, 9 insertions(+)

commit 1e6e5b1c0ad7f3896dc9c929e397f62eed3225e7
Merge: 8a52687 4b948b1
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Feb 19 09:25:53 2015 +0100

    Merge pull request #1357 from rodgert/master
    
    Support limited metadata for STREAM sockets

commit 4b948b1f3b2fb62d961419d337f65f38749e1a5a
Author: Thomas Rodgers <trodgers@drw.com>
Date:   Wed Feb 18 21:24:57 2015 -0600

    Code cleanup

 src/stream_engine.cpp | 19 +++++++++----------
 src/stream_engine.hpp |  4 +++-
 2 files changed, 12 insertions(+), 11 deletions(-)

commit cf0804bb7cb78864543e68397d7d2f9790d26903
Author: Thomas Rodgers <trodgers@drw.com>
Date:   Wed Feb 18 21:10:50 2015 -0600

    Remove unused include

 src/stream_engine.cpp | 1 -
 1 file changed, 1 deletion(-)

commit 8daa74dc777d082bb6f66dbad8ceffd9605ad1ec
Author: Thomas Rodgers <trodgers@drw.com>
Date:   Wed Feb 18 13:05:05 2015 -0600

    Fix comment from prior commit

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

commit fefe0d42fa12cea005134e402d97dbe7c66a3d63
Author: Thomas Rodgers <trodgers@drw.com>
Date:   Wed Feb 18 12:30:05 2015 -0600

    Update gitignore to include recently added tests for server sockets

 .gitignore | 4 ++++
 1 file changed, 4 insertions(+)

commit 638ddeb4044564e70778c96396c54eb4a7db80cd
Author: Thomas Rodgers <trodgers@drw.com>
Date:   Wed Feb 18 12:28:58 2015 -0600

    resolve #1347 Support limited metadata for STREAM sockets

 src/stream.cpp        | 10 ++++++++--
 src/stream_engine.cpp | 19 +++++++++++++++++--
 src/stream_engine.hpp |  4 +++-
 tests/test_stream.cpp | 22 ++++++++++++++--------
 4 files changed, 42 insertions(+), 13 deletions(-)

commit 8a526874ab3f819374318691065b648af67a26e3
Merge: fe2ce47 39338e2
Author: Joe Eli McIlvain <joe.eli.mac@gmail.com>
Date:   Wed Feb 18 09:07:58 2015 -0900

    Merge pull request #1356 from rodgert/master
    
    Fix autogen.sh warning about trailing whitespace

commit 39338e2fe41f84c42d993de8157115f596164f5e
Author: Thomas Rodgers <trodgers@drw.com>
Date:   Wed Feb 18 12:02:24 2015 -0600

    Fix autogen.sh warning about trailing whitespace

 Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit fe2ce47a44c9142fc160a7ac8e449fc5753038cf
Merge: 759c3e3 bc53d71
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sat Feb 14 08:18:46 2015 +0100

    Merge pull request #1355 from evoskuil/master
    
    Fix error return for clock_gettime.

commit bc53d710ffe8ac4a99ef799d0f51dd88e7bed3bc
Author: evoskuil <eric@voskuil.org>
Date:   Fri Feb 13 23:10:39 2015 -0800

    Fix error return for clock_gettime.

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

commit 759c3e314c307d9ec4432674e0133329a3be8fe6
Merge: 55886b8 a8f11b3
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sat Feb 14 07:59:24 2015 +0100

    Merge pull request #1354 from evoskuil/master
    
    Problem: build break in OSX, VS2010, VS2012

commit a8f11b3c3d719c1c248f64933862c913111dded8
Author: evoskuil <eric@voskuil.org>
Date:   Fri Feb 13 22:50:28 2015 -0800

    Add clock_gettime implementation for OSX.

 src/clock.cpp              | 22 ++++++++++++++++++++++
 src/clock.hpp              | 10 ++++++++++
 src/condition_variable.hpp |  1 +
 src/mailbox_safe.cpp       |  1 +
 4 files changed, 34 insertions(+)

commit 6630f19686129b98fd7d8ea6c30d3696c509d995
Author: evoskuil <eric@voskuil.org>
Date:   Fri Feb 13 15:08:17 2015 -0800

    Apply VS2013 changes to VS2010 and VS2012.

 builds/msvc/vs2010/libzmq/libzmq.vcxproj         | 3 +++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters | 9 +++++++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         | 3 +++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters | 9 +++++++++
 4 files changed, 24 insertions(+)

commit 55886b8b4623024b30b37dacab6ec9c6e3640e02
Merge: cac4d7a deaa896
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Feb 13 09:10:18 2015 +0100

    Merge pull request #1352 from somdoron/master
    
    thread safety bug - lock when sending

commit deaa89656f2d46f07c2df2f6eadbd9f258edf380
Author: somdoron <somdoron@gmail.com>
Date:   Fri Feb 13 09:30:29 2015 +0200

    thread safety bug - lock when sending

 src/mailbox_safe.cpp | 27 ++++++++-------------------
 src/mailbox_safe.hpp | 11 +++--------
 src/mutex.hpp        | 12 +++++++++++-
 3 files changed, 22 insertions(+), 28 deletions(-)

commit cac4d7aa10eb9ef03dd1cb50a6ba25c07ba461d7
Merge: 5d42fe1 a4de3df
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Feb 12 20:35:29 2015 +0100

    Merge pull request #1350 from zeromq/revert-1345-bzimmerman_CMAKE
    
    Revert "Bzimmerman cmake"

commit a4de3df73e3ced85aa83b503676c2096697b1100
Author: Doron Somech <somdoron@gmail.com>
Date:   Thu Feb 12 21:29:09 2015 +0200

    Revert "Bzimmerman cmake"

 CMakeLists.txt                          | 291 ++++++++++++++++++++++----------
 builds/cmake/Modules/FindAsciiDoc.cmake |  17 +-
 tests/CMakeLists.txt                    |  12 +-
 3 files changed, 214 insertions(+), 106 deletions(-)

commit 5d42fe1bf7eef67b71043d20b5a7025e9181d112
Merge: 88c6e69 5a897f7
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Feb 12 20:06:08 2015 +0100

    Merge pull request #1349 from somdoron/master
    
    problem: client and server sockets are not thread safe

commit 5a897f750913397c328167dd92172d7f52267162
Author: somdoron <somdoron@gmail.com>
Date:   Thu Feb 12 20:38:49 2015 +0200

    allocate reaper_signal only when needed

 src/socket_base.cpp | 21 ++++++++++++++++-----
 src/socket_base.hpp |  2 +-
 2 files changed, 17 insertions(+), 6 deletions(-)

commit bbdd8662bafa99584b78fe44e1a55b24b37cf740
Author: somdoron <somdoron@gmail.com>
Date:   Thu Feb 12 16:56:14 2015 +0200

    thread safety - supporting windows

 CMakeLists.txt                                   |  1 +
 builds/cmake/platform.hpp.in                     | 11 ++++++++++-
 builds/mingw32/platform.hpp                      |  9 +++++++++
 builds/msvc/platform.hpp                         |  8 ++++++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  3 +++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  9 +++++++++
 tests/CMakeLists.txt                             |  2 ++
 7 files changed, 42 insertions(+), 1 deletion(-)

commit 6749c9b3eba1ad2d35942b37390c2947b55c4ac0
Author: somdoron <somdoron@gmail.com>
Date:   Wed Feb 11 00:01:50 2015 +0200

    thread safety

 Makefile.am                |  12 ++-
 src/client.cpp             |   2 +-
 src/condition_variable.hpp | 149 +++++++++++++++++++++++++++++
 src/ctx.cpp                |   2 +-
 src/ctx.hpp                |   2 +-
 src/i_mailbox.hpp          |  50 ++++++++++
 src/mailbox.hpp            |   3 +-
 src/mailbox_safe.cpp       | 111 ++++++++++++++++++++++
 src/mailbox_safe.hpp       |  92 ++++++++++++++++++
 src/mutex.hpp              |  10 ++
 src/server.cpp             |   2 +-
 src/socket_base.cpp        | 228 ++++++++++++++++++++++++++++++++++++++-------
 src/socket_base.hpp        |  20 ++--
 tests/test_thread_safe.cpp | 145 ++++++++++++++++++++++++++++
 14 files changed, 782 insertions(+), 46 deletions(-)

commit 88c6e696abbf62a23d4c6cb2fdf2045f1e5ab3e1
Merge: 405a749 6bf1609
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed Feb 11 23:02:08 2015 +0100

    Merge pull request #1348 from evoskuil/master
    
    Problem: VS projects missing client/server.

commit 6bf1609a10a65b5dba7c3ce4d6cd32c41b39f90a
Author: evoskuil <eric@voskuil.org>
Date:   Wed Feb 11 13:23:58 2015 -0800

    Update VS DLL and NuGet versioning to 4.2.0.

 builds/msvc/resource.rc         | Bin 4642 -> 4642 bytes
 packaging/nuget/package.config  |   2 +-
 packaging/nuget/package.nuspec  |  50 ++++++++++++++++++++--------------------
 packaging/nuget/package.targets |  40 ++++++++++++++++----------------
 4 files changed, 46 insertions(+), 46 deletions(-)

commit 91eead1d20f8ee24beccb66ab2fa9867d542a6ce
Author: evoskuil <eric@voskuil.org>
Date:   Wed Feb 11 13:17:13 2015 -0800

    Add client.cpp/hpp and server.cpp/hpp to VS projects.

 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  6 +++++-
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters | 12 ++++++++++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  6 +++++-
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters | 12 ++++++++++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  6 +++++-
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters | 12 ++++++++++++
 6 files changed, 51 insertions(+), 3 deletions(-)

commit 2fd2fca531d042e86c642f47cbddfe80a7dc4116
Author: evoskuil <eric@voskuil.org>
Date:   Wed Feb 11 13:10:55 2015 -0800

    Make implicit cast explicit.

 src/zmq.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit 6724f414272b8022b6e227007b1771dbe3f3879f
Author: evoskuil <eric@voskuil.org>
Date:   Wed Feb 11 13:09:25 2015 -0800

    Fix forcing to bool.

 .gitignore                                       |  140 +++
 .hgeol                                           |    2 +
 .travis.yml                                      |   10 +
 AUTHORS                                          |  138 +++
 CMakeLists.txt                                   |  737 ++++++++++++
 COPYING                                          |  674 +++++++++++
 COPYING.LESSER                                   |  181 +++
 Dockerfile                                       |   11 +
 INSTALL                                          |  246 ++++
 MAINTAINERS                                      |   56 +
 Makefile.am                                      |  659 +++++++++++
 NEWS                                             |  978 ++++++++++++++++
 README.cygwin.md                                 |   15 +
 README.md                                        |   38 +
 acinclude.m4                                     |  962 ++++++++++++++++
 autogen.sh                                       |   45 +
 branding.bmp                                     |  Bin 0 -> 25818 bytes
 builds/cmake/Modules/FindAsciiDoc.cmake          |   23 +
 builds/cmake/Modules/TestZMQVersion.cmake        |   18 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake    |  129 +++
 builds/cmake/NSIS.template32.in                  |  952 +++++++++++++++
 builds/cmake/NSIS.template64.in                  |  960 ++++++++++++++++
 builds/cmake/platform.hpp.in                     |   90 ++
 builds/cygwin/Makefile.cygwin                    |   47 +
 builds/mingw32/Makefile.mingw32                  |   47 +
 builds/mingw32/platform.hpp                      |   32 +
 builds/msvc/Makefile.am                          |  103 ++
 builds/msvc/build/buildall.bat                   |   10 +
 builds/msvc/build/buildbase.bat                  |   69 ++
 builds/msvc/errno.cpp                            |   32 +
 builds/msvc/errno.hpp                            |   56 +
 builds/msvc/platform.hpp                         |   32 +
 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                           |   14 +
 builds/msvc/resource.h                           |   14 +
 builds/msvc/resource.rc                          |  Bin 0 -> 4642 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          |  263 +++++
 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   |   48 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2010/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2010/libsodium.import.props        |   52 +
 builds/msvc/vs2010/libsodium.import.xml          |   17 +
 builds/msvc/vs2010/libzmq.import.props           |   66 ++
 builds/msvc/vs2010/libzmq.import.xml             |   38 +
 builds/msvc/vs2010/libzmq.sln                    |  206 ++++
 builds/msvc/vs2010/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2010/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2010/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2010/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2010/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2010/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2012/libsodium.import.props        |   52 +
 builds/msvc/vs2012/libsodium.import.xml          |   17 +
 builds/msvc/vs2012/libzmq.import.props           |   66 ++
 builds/msvc/vs2012/libzmq.import.xml             |   38 +
 builds/msvc/vs2012/libzmq.sln                    |  206 ++++
 builds/msvc/vs2012/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2012/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2012/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2012/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2012/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2012/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2013/libsodium.import.props        |   52 +
 builds/msvc/vs2013/libsodium.import.xml          |   17 +
 builds/msvc/vs2013/libzmq.import.props           |   66 ++
 builds/msvc/vs2013/libzmq.import.xml             |   38 +
 builds/msvc/vs2013/libzmq.sln                    |  208 ++++
 builds/msvc/vs2013/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2013/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2013/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2013/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2013/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2013/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj |   79 ++
 builds/nuget/libzmq.autopkg                      |   52 +
 builds/nuget/readme.nuget                        |   20 +
 builds/qt-android/android_build_helper.sh        |  307 +++++
 builds/qt-android/build.sh                       |   63 +
 builds/qt-android/ci_build.sh                    |   14 +
 builds/redhat/zeromq.spec.in                     |  201 ++++
 builds/valgrind/valgrind.supp                    |   14 +
 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                         |   85 ++
 builds/zos/zc++                                  |   42 +
 ci_build.sh                                      |   15 +
 configure.ac                                     |  571 +++++++++
 doc/Makefile.am                                  |   58 +
 doc/asciidoc.conf                                |   56 +
 doc/zmq.txt                                      |  264 +++++
 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                                 |  102 ++
 doc/zmq_close.txt                                |   52 +
 doc/zmq_connect.txt                              |  100 ++
 doc/zmq_ctx_destroy.txt                          |   67 ++
 doc/zmq_ctx_get.txt                              |   87 ++
 doc/zmq_ctx_new.txt                              |   50 +
 doc/zmq_ctx_set.txt                              |  103 ++
 doc/zmq_ctx_shutdown.txt                         |   52 +
 doc/zmq_ctx_term.txt                             |   67 ++
 doc/zmq_curve.txt                                |   92 ++
 doc/zmq_curve_keypair.txt                        |   56 +
 doc/zmq_disconnect.txt                           |   75 ++
 doc/zmq_errno.txt                                |   50 +
 doc/zmq_getsockopt.txt                           |  746 ++++++++++++
 doc/zmq_gssapi.txt                               |   57 +
 doc/zmq_has.txt                                  |   43 +
 doc/zmq_init.txt                                 |   52 +
 doc/zmq_inproc.txt                               |   85 ++
 doc/zmq_ipc.txt                                  |  105 ++
 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                             |   75 ++
 doc/zmq_msg_init.txt                             |   65 ++
 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_send.txt                             |  125 ++
 doc/zmq_msg_set.txt                              |   46 +
 doc/zmq_msg_size.txt                             |   48 +
 doc/zmq_null.txt                                 |   27 +
 doc/zmq_pgm.txt                                  |  163 +++
 doc/zmq_plain.txt                                |   37 +
 doc/zmq_poll.txt                                 |  135 +++
 doc/zmq_proxy.txt                                |   98 ++
 doc/zmq_proxy_steerable.txt                      |   98 ++
 doc/zmq_recv.txt                                 |   90 ++
 doc/zmq_recvmsg.txt                              |  121 ++
 doc/zmq_send.txt                                 |  102 ++
 doc/zmq_send_const.txt                           |  103 ++
 doc/zmq_sendmsg.txt                              |  119 ++
 doc/zmq_setsockopt.txt                           | 1022 +++++++++++++++++
 doc/zmq_socket.txt                               |  455 ++++++++
 doc/zmq_socket_monitor.txt                       |  239 ++++
 doc/zmq_strerror.txt                             |   56 +
 doc/zmq_tcp.txt                                  |  117 ++
 doc/zmq_term.txt                                 |   66 ++
 doc/zmq_tipc.txt                                 |   82 ++
 doc/zmq_unbind.txt                               |   88 ++
 doc/zmq_version.txt                              |   54 +
 doc/zmq_z85_decode.txt                           |   50 +
 doc/zmq_z85_encode.txt                           |   57 +
 include/zmq.h                                    |  487 ++++++++
 include/zmq_utils.h                              |   20 +
 installer.ico                                    |  Bin 0 -> 2842 bytes
 packaging/nuget/package.bat                      |   13 +
 packaging/nuget/package.config                   |    6 +
 packaging/nuget/package.gsl                      |  265 +++++
 packaging/nuget/package.nuspec                   |   99 ++
 packaging/nuget/package.targets                  |  130 +++
 packaging/nuget/package.xml                      |   22 +
 perf/inproc_lat.cpp                              |  231 ++++
 perf/inproc_thr.cpp                              |  241 ++++
 perf/local_lat.cpp                               |  107 ++
 perf/local_thr.cpp                               |  131 +++
 perf/remote_lat.cpp                              |  120 ++
 perf/remote_thr.cpp                              |   98 ++
 src/address.cpp                                  |   95 ++
 src/address.hpp                                  |   57 +
 src/array.hpp                                    |  153 +++
 src/atomic_counter.hpp                           |  212 ++++
 src/atomic_ptr.hpp                               |  211 ++++
 src/blob.hpp                                     |  129 +++
 src/client.cpp                                   |  102 ++
 src/client.hpp                                   |   71 ++
 src/clock.cpp                                    |  200 ++++
 src/clock.hpp                                    |   59 +
 src/command.hpp                                  |  161 +++
 src/config.hpp                                   |   87 ++
 src/ctx.cpp                                      |  567 +++++++++
 src/ctx.hpp                                      |  216 ++++
 src/curve_client.cpp                             |  450 ++++++++
 src/curve_client.hpp                             |  119 ++
 src/curve_server.cpp                             |  720 ++++++++++++
 src/curve_server.hpp                             |  128 +++
 src/dbuffer.hpp                                  |  134 +++
 src/dealer.cpp                                   |  131 +++
 src/dealer.hpp                                   |   79 ++
 src/decoder.hpp                                  |  173 +++
 src/devpoll.cpp                                  |  194 ++++
 src/devpoll.hpp                                  |  109 ++
 src/dist.cpp                                     |  222 ++++
 src/dist.hpp                                     |  110 ++
 src/encoder.hpp                                  |  175 +++
 src/epoll.cpp                                    |  182 +++
 src/epoll.hpp                                    |  105 ++
 src/err.cpp                                      |  376 ++++++
 src/err.hpp                                      |  158 +++
 src/fd.hpp                                       |   44 +
 src/fq.cpp                                       |  152 +++
 src/fq.hpp                                       |   82 ++
 src/gssapi_client.cpp                            |  220 ++++
 src/gssapi_client.hpp                            |   83 ++
 src/gssapi_mechanism_base.cpp                    |  337 ++++++
 src/gssapi_mechanism_base.hpp                    |  122 ++
 src/gssapi_server.cpp                            |  367 ++++++
 src/gssapi_server.hpp                            |   86 ++
 src/i_decoder.hpp                                |   51 +
 src/i_encoder.hpp                                |   50 +
 src/i_engine.hpp                                 |   55 +
 src/i_poll_events.hpp                            |   45 +
 src/io_object.cpp                                |  106 ++
 src/io_object.hpp                                |   79 ++
 src/io_thread.cpp                                |  102 ++
 src/io_thread.hpp                                |   89 ++
 src/ip.cpp                                       |  166 +++
 src/ip.hpp                                       |   47 +
 src/ipc_address.cpp                              |   95 ++
 src/ipc_address.hpp                              |   66 ++
 src/ipc_connecter.cpp                            |  265 +++++
 src/ipc_connecter.hpp                            |  127 ++
 src/ipc_listener.cpp                             |  305 +++++
 src/ipc_listener.hpp                             |  104 ++
 src/kqueue.cpp                                   |  215 ++++
 src/kqueue.hpp                                   |  117 ++
 src/lb.cpp                                       |  150 +++
 src/lb.hpp                                       |   78 ++
 src/libzmq.pc.cmake.in                           |   10 +
 src/libzmq.pc.in                                 |   10 +
 src/libzmq.vers                                  |    4 +
 src/likely.hpp                                   |   32 +
 src/mailbox.cpp                                  |   86 ++
 src/mailbox.hpp                                  |   80 ++
 src/mechanism.cpp                                |  188 +++
 src/mechanism.hpp                                |  129 +++
 src/metadata.cpp                                 |   45 +
 src/metadata.hpp                                 |   60 +
 src/msg.cpp                                      |  396 +++++++
 src/msg.hpp                                      |  184 +++
 src/mtrie.cpp                                    |  430 +++++++
 src/mtrie.hpp                                    |   91 ++
 src/mutex.hpp                                    |  157 +++
 src/norm_engine.cpp                              |  728 ++++++++++++
 src/norm_engine.hpp                              |  188 +++
 src/null_mechanism.cpp                           |  348 ++++++
 src/null_mechanism.hpp                           |   74 ++
 src/object.cpp                                   |  427 +++++++
 src/object.hpp                                   |  142 +++
 src/options.cpp                                  |  876 ++++++++++++++
 src/options.hpp                                  |  191 +++
 src/own.cpp                                      |  205 ++++
 src/own.hpp                                      |  144 +++
 src/pair.cpp                                     |  131 +++
 src/pair.hpp                                     |   68 ++
 src/pgm_receiver.cpp                             |  296 +++++
 src/pgm_receiver.hpp                             |  142 +++
 src/pgm_sender.cpp                               |  244 ++++
 src/pgm_sender.hpp                               |  119 ++
 src/pgm_socket.cpp                               |  706 ++++++++++++
 src/pgm_socket.hpp                               |  121 ++
 src/pipe.cpp                                     |  517 +++++++++
 src/pipe.hpp                                     |  232 ++++
 src/plain_client.cpp                             |  212 ++++
 src/plain_client.hpp                             |   69 ++
 src/plain_server.cpp                             |  430 +++++++
 src/plain_server.hpp                             |   83 ++
 src/poll.cpp                                     |  180 +++
 src/poll.hpp                                     |  109 ++
 src/poller.hpp                                   |   51 +
 src/poller_base.cpp                              |   99 ++
 src/poller_base.hpp                              |   85 ++
 src/precompiled.cpp                              |   20 +
 src/precompiled.hpp                              |   46 +
 src/proxy.cpp                                    |  176 +++
 src/proxy.hpp                                    |   32 +
 src/pub.cpp                                      |   43 +
 src/pub.hpp                                      |   52 +
 src/pull.cpp                                     |   67 ++
 src/pull.hpp                                     |   65 ++
 src/push.cpp                                     |   62 +
 src/push.hpp                                     |   63 +
 src/random.cpp                                   |   51 +
 src/random.hpp                                   |   36 +
 src/raw_decoder.cpp                              |   63 +
 src/raw_decoder.hpp                              |   66 ++
 src/raw_encoder.cpp                              |   40 +
 src/raw_encoder.hpp                              |   60 +
 src/reaper.cpp                                   |  127 ++
 src/reaper.hpp                                   |   84 ++
 src/rep.cpp                                      |  123 ++
 src/rep.hpp                                      |   63 +
 src/req.cpp                                      |  279 +++++
 src/req.hpp                                      |  110 ++
 src/router.cpp                                   |  469 ++++++++
 src/router.hpp                                   |  130 +++
 src/select.cpp                                   |  224 ++++
 src/select.hpp                                   |  130 +++
 src/server.cpp                                   |  163 +++
 src/server.hpp                                   |   86 ++
 src/session_base.cpp                             |  621 ++++++++++
 src/session_base.hpp                             |  162 +++
 src/signaler.cpp                                 |  555 +++++++++
 src/signaler.hpp                                 |   80 ++
 src/socket_base.cpp                              | 1341 ++++++++++++++++++++++
 src/socket_base.hpp                              |  268 +++++
 src/socks.cpp                                    |  273 +++++
 src/socks.hpp                                    |  125 ++
 src/socks_connecter.cpp                          |  468 ++++++++
 src/socks_connecter.hpp                          |  154 +++
 src/stdint.hpp                                   |   62 +
 src/stream.cpp                                   |  295 +++++
 src/stream.hpp                                   |   97 ++
 src/stream_engine.cpp                            |  948 +++++++++++++++
 src/stream_engine.hpp                            |  206 ++++
 src/sub.cpp                                      |   80 ++
 src/sub.hpp                                      |   54 +
 src/tcp.cpp                                      |  244 ++++
 src/tcp.hpp                                      |   52 +
 src/tcp_address.cpp                              |  662 +++++++++++
 src/tcp_address.hpp                              |  106 ++
 src/tcp_connecter.cpp                            |  357 ++++++
 src/tcp_connecter.hpp                            |  121 ++
 src/tcp_listener.cpp                             |  323 ++++++
 src/tcp_listener.hpp                             |   89 ++
 src/thread.cpp                                   |  134 +++
 src/thread.hpp                                   |   81 ++
 src/tipc_address.cpp                             |  107 ++
 src/tipc_address.hpp                             |   65 ++
 src/tipc_connecter.cpp                           |  256 +++++
 src/tipc_connecter.hpp                           |  127 ++
 src/tipc_listener.cpp                            |  178 +++
 src/tipc_listener.hpp                            |   97 ++
 src/trie.cpp                                     |  334 ++++++
 src/trie.hpp                                     |   76 ++
 src/v1_decoder.cpp                               |  148 +++
 src/v1_decoder.hpp                               |   57 +
 src/v1_encoder.cpp                               |   65 ++
 src/v1_encoder.hpp                               |   49 +
 src/v2_decoder.cpp                               |  142 +++
 src/v2_decoder.hpp                               |   57 +
 src/v2_encoder.cpp                               |   67 ++
 src/v2_encoder.hpp                               |   49 +
 src/v2_protocol.hpp                              |   39 +
 src/version.rc.in                                |   93 ++
 src/windows.hpp                                  |   73 ++
 src/wire.hpp                                     |   98 ++
 src/xpub.cpp                                     |  253 ++++
 src/xpub.hpp                                     |  106 ++
 src/xsub.cpp                                     |  235 ++++
 src/xsub.hpp                                     |   93 ++
 src/ypipe.hpp                                    |  209 ++++
 src/ypipe_base.hpp                               |   44 +
 src/ypipe_conflate.hpp                           |  127 ++
 src/yqueue.hpp                                   |  209 ++++
 src/zmq.cpp                                      | 1097 ++++++++++++++++++
 src/zmq_utils.cpp                                |  256 +++++
 tests/CMakeLists.txt                             |   84 ++
 tests/test_abstract_ipc.cpp                      |   57 +
 tests/test_atomics.cpp                           |   38 +
 tests/test_bind_src_address.cpp                  |   47 +
 tests/test_capabilities.cpp                      |   61 +
 tests/test_client_drop_more.cpp                  |  106 ++
 tests/test_client_server.cpp                     |   85 ++
 tests/test_conflate.cpp                          |   72 ++
 tests/test_connect_delay_tipc.cpp                |  238 ++++
 tests/test_connect_resolve.cpp                   |   57 +
 tests/test_connect_rid.cpp                       |  178 +++
 tests/test_ctx_destroy.cpp                       |   90 ++
 tests/test_ctx_options.cpp                       |   70 ++
 tests/test_diffserv.cpp                          |   70 ++
 tests/test_disconnect_inproc.cpp                 |  127 ++
 tests/test_filter_ipc.cpp                        |  161 +++
 tests/test_fork.cpp                              |   81 ++
 tests/test_hwm.cpp                               |  299 +++++
 tests/test_hwm_pubsub.cpp                        |  161 +++
 tests/test_immediate.cpp                         |  228 ++++
 tests/test_inproc_connect.cpp                    |  479 ++++++++
 tests/test_invalid_rep.cpp                       |   88 ++
 tests/test_iov.cpp                               |  106 ++
 tests/test_ipc_wildcard.cpp                      |   55 +
 tests/test_issue_566.cpp                         |   85 ++
 tests/test_last_endpoint.cpp                     |   56 +
 tests/test_many_sockets.cpp                      |   90 ++
 tests/test_metadata.cpp                          |  120 ++
 tests/test_monitor.cpp                           |  128 +++
 tests/test_msg_flags.cpp                         |  117 ++
 tests/test_pair_inproc.cpp                       |   71 ++
 tests/test_pair_ipc.cpp                          |   50 +
 tests/test_pair_tcp.cpp                          |   50 +
 tests/test_pair_tipc.cpp                         |   54 +
 tests/test_probe_router.cpp                      |   72 ++
 tests/test_proxy.cpp                             |  251 ++++
 tests/test_pub_invert_matching.cpp               |  126 ++
 tests/test_req_correlate.cpp                     |  177 +++
 tests/test_req_relaxed.cpp                       |  116 ++
 tests/test_reqrep_device.cpp                     |  135 +++
 tests/test_reqrep_device_tipc.cpp                |  143 +++
 tests/test_reqrep_inproc.cpp                     |   50 +
 tests/test_reqrep_ipc.cpp                        |   50 +
 tests/test_reqrep_tcp.cpp                        |   50 +
 tests/test_reqrep_tipc.cpp                       |   54 +
 tests/test_router_handover.cpp                   |  101 ++
 tests/test_router_mandatory.cpp                  |   81 ++
 tests/test_router_mandatory_hwm.cpp              |  116 ++
 tests/test_router_mandatory_tipc.cpp             |   62 +
 tests/test_security_curve.cpp                    |  281 +++++
 tests/test_security_null.cpp                     |  177 +++
 tests/test_security_plain.cpp                    |  185 +++
 tests/test_server_drop_more.cpp                  |  106 ++
 tests/test_shutdown_stress.cpp                   |   80 ++
 tests/test_shutdown_stress_tipc.cpp              |   93 ++
 tests/test_spec_dealer.cpp                       |  254 ++++
 tests/test_spec_pushpull.cpp                     |  293 +++++
 tests/test_spec_rep.cpp                          |  155 +++
 tests/test_spec_req.cpp                          |  253 ++++
 tests/test_spec_router.cpp                       |  204 ++++
 tests/test_srcfd.cpp                             |   99 ++
 tests/test_stream.cpp                            |  281 +++++
 tests/test_stream_disconnect.cpp                 |  263 +++++
 tests/test_stream_empty.cpp                      |   60 +
 tests/test_stream_timeout.cpp                    |  216 ++++
 tests/test_sub_forward.cpp                       |   91 ++
 tests/test_sub_forward_tipc.cpp                  |  101 ++
 tests/test_system.cpp                            |   89 ++
 tests/test_term_endpoint.cpp                     |  157 +++
 tests/test_term_endpoint_tipc.cpp                |  120 ++
 tests/test_timeo.cpp                             |   75 ++
 tests/test_xpub_manual.cpp                       |   82 ++
 tests/test_xpub_nodrop.cpp                       |  106 ++
 tests/test_xpub_welcome_msg.cpp                  |   71 ++
 tests/testutil.hpp                               |  298 +++++
 tools/curve_keygen.cpp                           |   55 +
 tweetnacl/contrib/randombytes/devurandom.c       |   44 +
 tweetnacl/contrib/randombytes/devurandom.h       |   25 +
 tweetnacl/contrib/randombytes/randombytes.h      |    5 +
 tweetnacl/src/tweetnacl.c                        |  818 +++++++++++++
 tweetnacl/src/tweetnacl.h                        |  273 +++++
 tweetnacl/src/tweetnacl_base.h                   |   41 +
 version.sh                                       |   21 +
 500 files changed, 71943 insertions(+)

commit 405a74952562be00e4b6e37e80df55ff756fabf9
Merge: c9418db c743bd9
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Feb 9 22:38:28 2015 +0100

    Merge pull request #1345 from QbaseLLC/bzimmerman_CMAKE
    
    Bzimmerman cmake

commit c743bd95b46a15890c5ab28f7fa1d78f9f753b7f
Author: Bryan Zimmerman <bzimmerman@4qbase.com>
Date:   Mon Feb 9 13:32:29 2015 -0500

    changed test tools to compile statically

 CMakeLists.txt | 33 ++++++++-------------------------
 1 file changed, 8 insertions(+), 25 deletions(-)

commit caf4276710767b07f91db0cfecb88a252d2e6b31
Author: Bryan Zimmerman <bzimmerman@4qbase.com>
Date:   Mon Feb 9 10:47:05 2015 -0500

    removed packaged export
    added version to builds
    other cleanup

 CMakeLists.txt       | 186 ++++++++-------------------------------------------
 tests/CMakeLists.txt |  12 ++--
 2 files changed, 35 insertions(+), 163 deletions(-)

commit fef20b1c8361340c025975b735b34357e9132350
Author: Bryan Zimmerman <bzimmerman@4qbase.com>
Date:   Mon Feb 9 08:46:00 2015 -0500

    Merge remote-tracking branch 'remotes/origin/HEAD' into bzimmerman_CMAKE

 .gitignore                                       |  140 +++
 .hgeol                                           |    2 +
 .travis.yml                                      |   10 +
 AUTHORS                                          |  138 +++
 CMakeLists.txt                                   |  884 ++++++++++++++
 COPYING                                          |  674 +++++++++++
 COPYING.LESSER                                   |  181 +++
 Dockerfile                                       |   11 +
 INSTALL                                          |  246 ++++
 MAINTAINERS                                      |   56 +
 Makefile.am                                      |  655 +++++++++++
 NEWS                                             |  978 ++++++++++++++++
 README.cygwin.md                                 |   15 +
 README.md                                        |   38 +
 acinclude.m4                                     |  962 ++++++++++++++++
 autogen.sh                                       |   45 +
 branding.bmp                                     |  Bin 0 -> 25818 bytes
 builds/cmake/Modules/FindAsciiDoc.cmake          |   23 +
 builds/cmake/Modules/TestZMQVersion.cmake        |   18 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake    |  129 +++
 builds/cmake/NSIS.template32.in                  |  952 +++++++++++++++
 builds/cmake/NSIS.template64.in                  |  960 ++++++++++++++++
 builds/cmake/platform.hpp.in                     |   90 ++
 builds/cygwin/Makefile.cygwin                    |   47 +
 builds/mingw32/Makefile.mingw32                  |   47 +
 builds/mingw32/platform.hpp                      |   32 +
 builds/msvc/Makefile.am                          |  103 ++
 builds/msvc/build/buildall.bat                   |   10 +
 builds/msvc/build/buildbase.bat                  |   69 ++
 builds/msvc/errno.cpp                            |   32 +
 builds/msvc/errno.hpp                            |   56 +
 builds/msvc/platform.hpp                         |   32 +
 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                           |   14 +
 builds/msvc/resource.h                           |   14 +
 builds/msvc/resource.rc                          |  Bin 0 -> 4642 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          |  263 +++++
 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   |   48 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2010/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2010/libsodium.import.props        |   52 +
 builds/msvc/vs2010/libsodium.import.xml          |   17 +
 builds/msvc/vs2010/libzmq.import.props           |   66 ++
 builds/msvc/vs2010/libzmq.import.xml             |   38 +
 builds/msvc/vs2010/libzmq.sln                    |  206 ++++
 builds/msvc/vs2010/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2010/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2010/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2010/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2010/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2010/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2012/libsodium.import.props        |   52 +
 builds/msvc/vs2012/libsodium.import.xml          |   17 +
 builds/msvc/vs2012/libzmq.import.props           |   66 ++
 builds/msvc/vs2012/libzmq.import.xml             |   38 +
 builds/msvc/vs2012/libzmq.sln                    |  206 ++++
 builds/msvc/vs2012/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2012/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2012/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2012/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2012/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2012/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2013/libsodium.import.props        |   52 +
 builds/msvc/vs2013/libsodium.import.xml          |   17 +
 builds/msvc/vs2013/libzmq.import.props           |   66 ++
 builds/msvc/vs2013/libzmq.import.xml             |   38 +
 builds/msvc/vs2013/libzmq.sln                    |  208 ++++
 builds/msvc/vs2013/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2013/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2013/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2013/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2013/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2013/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj |   79 ++
 builds/nuget/libzmq.autopkg                      |   52 +
 builds/nuget/readme.nuget                        |   20 +
 builds/qt-android/android_build_helper.sh        |  307 +++++
 builds/qt-android/build.sh                       |   63 +
 builds/qt-android/ci_build.sh                    |   14 +
 builds/redhat/zeromq.spec.in                     |  201 ++++
 builds/valgrind/valgrind.supp                    |   14 +
 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                         |   85 ++
 builds/zos/zc++                                  |   42 +
 ci_build.sh                                      |   15 +
 configure.ac                                     |  555 +++++++++
 doc/Makefile.am                                  |   58 +
 doc/asciidoc.conf                                |   56 +
 doc/zmq.txt                                      |  264 +++++
 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                                 |  102 ++
 doc/zmq_close.txt                                |   52 +
 doc/zmq_connect.txt                              |  100 ++
 doc/zmq_ctx_destroy.txt                          |   67 ++
 doc/zmq_ctx_get.txt                              |   87 ++
 doc/zmq_ctx_new.txt                              |   50 +
 doc/zmq_ctx_set.txt                              |  103 ++
 doc/zmq_ctx_shutdown.txt                         |   52 +
 doc/zmq_ctx_term.txt                             |   67 ++
 doc/zmq_curve.txt                                |   92 ++
 doc/zmq_curve_keypair.txt                        |   56 +
 doc/zmq_disconnect.txt                           |   75 ++
 doc/zmq_errno.txt                                |   50 +
 doc/zmq_getsockopt.txt                           |  746 ++++++++++++
 doc/zmq_gssapi.txt                               |   57 +
 doc/zmq_has.txt                                  |   43 +
 doc/zmq_init.txt                                 |   52 +
 doc/zmq_inproc.txt                               |   85 ++
 doc/zmq_ipc.txt                                  |  105 ++
 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                             |   75 ++
 doc/zmq_msg_init.txt                             |   65 ++
 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_send.txt                             |  125 ++
 doc/zmq_msg_set.txt                              |   46 +
 doc/zmq_msg_size.txt                             |   48 +
 doc/zmq_null.txt                                 |   27 +
 doc/zmq_pgm.txt                                  |  163 +++
 doc/zmq_plain.txt                                |   37 +
 doc/zmq_poll.txt                                 |  135 +++
 doc/zmq_proxy.txt                                |   98 ++
 doc/zmq_proxy_steerable.txt                      |   98 ++
 doc/zmq_recv.txt                                 |   90 ++
 doc/zmq_recvmsg.txt                              |  121 ++
 doc/zmq_send.txt                                 |  102 ++
 doc/zmq_send_const.txt                           |  103 ++
 doc/zmq_sendmsg.txt                              |  119 ++
 doc/zmq_setsockopt.txt                           | 1022 +++++++++++++++++
 doc/zmq_socket.txt                               |  455 ++++++++
 doc/zmq_socket_monitor.txt                       |  239 ++++
 doc/zmq_strerror.txt                             |   56 +
 doc/zmq_tcp.txt                                  |  117 ++
 doc/zmq_term.txt                                 |   66 ++
 doc/zmq_tipc.txt                                 |   82 ++
 doc/zmq_unbind.txt                               |   88 ++
 doc/zmq_version.txt                              |   54 +
 doc/zmq_z85_decode.txt                           |   50 +
 doc/zmq_z85_encode.txt                           |   57 +
 include/zmq.h                                    |  487 ++++++++
 include/zmq_utils.h                              |   20 +
 installer.ico                                    |  Bin 0 -> 2842 bytes
 packaging/nuget/package.bat                      |   13 +
 packaging/nuget/package.config                   |    6 +
 packaging/nuget/package.gsl                      |  265 +++++
 packaging/nuget/package.nuspec                   |   99 ++
 packaging/nuget/package.targets                  |  130 +++
 packaging/nuget/package.xml                      |   22 +
 perf/inproc_lat.cpp                              |  231 ++++
 perf/inproc_thr.cpp                              |  241 ++++
 perf/local_lat.cpp                               |  107 ++
 perf/local_thr.cpp                               |  131 +++
 perf/remote_lat.cpp                              |  120 ++
 perf/remote_thr.cpp                              |   98 ++
 src/address.cpp                                  |   95 ++
 src/address.hpp                                  |   57 +
 src/array.hpp                                    |  153 +++
 src/atomic_counter.hpp                           |  212 ++++
 src/atomic_ptr.hpp                               |  211 ++++
 src/blob.hpp                                     |  129 +++
 src/client.cpp                                   |  102 ++
 src/client.hpp                                   |   71 ++
 src/clock.cpp                                    |  200 ++++
 src/clock.hpp                                    |   59 +
 src/command.hpp                                  |  161 +++
 src/config.hpp                                   |   87 ++
 src/ctx.cpp                                      |  567 +++++++++
 src/ctx.hpp                                      |  216 ++++
 src/curve_client.cpp                             |  450 ++++++++
 src/curve_client.hpp                             |  119 ++
 src/curve_server.cpp                             |  720 ++++++++++++
 src/curve_server.hpp                             |  128 +++
 src/dbuffer.hpp                                  |  134 +++
 src/dealer.cpp                                   |  131 +++
 src/dealer.hpp                                   |   79 ++
 src/decoder.hpp                                  |  173 +++
 src/devpoll.cpp                                  |  194 ++++
 src/devpoll.hpp                                  |  109 ++
 src/dist.cpp                                     |  222 ++++
 src/dist.hpp                                     |  110 ++
 src/encoder.hpp                                  |  175 +++
 src/epoll.cpp                                    |  182 +++
 src/epoll.hpp                                    |  105 ++
 src/err.cpp                                      |  376 ++++++
 src/err.hpp                                      |  158 +++
 src/fd.hpp                                       |   44 +
 src/fq.cpp                                       |  152 +++
 src/fq.hpp                                       |   82 ++
 src/gssapi_client.cpp                            |  220 ++++
 src/gssapi_client.hpp                            |   83 ++
 src/gssapi_mechanism_base.cpp                    |  337 ++++++
 src/gssapi_mechanism_base.hpp                    |  122 ++
 src/gssapi_server.cpp                            |  367 ++++++
 src/gssapi_server.hpp                            |   86 ++
 src/i_decoder.hpp                                |   51 +
 src/i_encoder.hpp                                |   50 +
 src/i_engine.hpp                                 |   55 +
 src/i_poll_events.hpp                            |   45 +
 src/io_object.cpp                                |  106 ++
 src/io_object.hpp                                |   79 ++
 src/io_thread.cpp                                |  102 ++
 src/io_thread.hpp                                |   89 ++
 src/ip.cpp                                       |  166 +++
 src/ip.hpp                                       |   47 +
 src/ipc_address.cpp                              |   95 ++
 src/ipc_address.hpp                              |   66 ++
 src/ipc_connecter.cpp                            |  265 +++++
 src/ipc_connecter.hpp                            |  127 ++
 src/ipc_listener.cpp                             |  305 +++++
 src/ipc_listener.hpp                             |  104 ++
 src/kqueue.cpp                                   |  215 ++++
 src/kqueue.hpp                                   |  117 ++
 src/lb.cpp                                       |  150 +++
 src/lb.hpp                                       |   78 ++
 src/libzmq.pc.cmake.in                           |   10 +
 src/libzmq.pc.in                                 |   10 +
 src/libzmq.vers                                  |    4 +
 src/likely.hpp                                   |   32 +
 src/mailbox.cpp                                  |   86 ++
 src/mailbox.hpp                                  |   80 ++
 src/mechanism.cpp                                |  188 +++
 src/mechanism.hpp                                |  129 +++
 src/metadata.cpp                                 |   45 +
 src/metadata.hpp                                 |   60 +
 src/msg.cpp                                      |  396 +++++++
 src/msg.hpp                                      |  184 +++
 src/mtrie.cpp                                    |  430 +++++++
 src/mtrie.hpp                                    |   91 ++
 src/mutex.hpp                                    |  157 +++
 src/norm_engine.cpp                              |  728 ++++++++++++
 src/norm_engine.hpp                              |  188 +++
 src/null_mechanism.cpp                           |  348 ++++++
 src/null_mechanism.hpp                           |   74 ++
 src/object.cpp                                   |  427 +++++++
 src/object.hpp                                   |  142 +++
 src/options.cpp                                  |  876 ++++++++++++++
 src/options.hpp                                  |  191 +++
 src/own.cpp                                      |  205 ++++
 src/own.hpp                                      |  144 +++
 src/pair.cpp                                     |  131 +++
 src/pair.hpp                                     |   68 ++
 src/pgm_receiver.cpp                             |  296 +++++
 src/pgm_receiver.hpp                             |  142 +++
 src/pgm_sender.cpp                               |  244 ++++
 src/pgm_sender.hpp                               |  119 ++
 src/pgm_socket.cpp                               |  706 ++++++++++++
 src/pgm_socket.hpp                               |  121 ++
 src/pipe.cpp                                     |  517 +++++++++
 src/pipe.hpp                                     |  232 ++++
 src/plain_client.cpp                             |  212 ++++
 src/plain_client.hpp                             |   69 ++
 src/plain_server.cpp                             |  430 +++++++
 src/plain_server.hpp                             |   83 ++
 src/poll.cpp                                     |  180 +++
 src/poll.hpp                                     |  109 ++
 src/poller.hpp                                   |   51 +
 src/poller_base.cpp                              |   99 ++
 src/poller_base.hpp                              |   85 ++
 src/precompiled.cpp                              |   20 +
 src/precompiled.hpp                              |   46 +
 src/proxy.cpp                                    |  176 +++
 src/proxy.hpp                                    |   32 +
 src/pub.cpp                                      |   43 +
 src/pub.hpp                                      |   52 +
 src/pull.cpp                                     |   67 ++
 src/pull.hpp                                     |   65 ++
 src/push.cpp                                     |   62 +
 src/push.hpp                                     |   63 +
 src/random.cpp                                   |   51 +
 src/random.hpp                                   |   36 +
 src/raw_decoder.cpp                              |   63 +
 src/raw_decoder.hpp                              |   66 ++
 src/raw_encoder.cpp                              |   40 +
 src/raw_encoder.hpp                              |   60 +
 src/reaper.cpp                                   |  127 ++
 src/reaper.hpp                                   |   84 ++
 src/rep.cpp                                      |  123 ++
 src/rep.hpp                                      |   63 +
 src/req.cpp                                      |  279 +++++
 src/req.hpp                                      |  110 ++
 src/router.cpp                                   |  469 ++++++++
 src/router.hpp                                   |  130 +++
 src/select.cpp                                   |  224 ++++
 src/select.hpp                                   |  130 +++
 src/server.cpp                                   |  163 +++
 src/server.hpp                                   |   86 ++
 src/session_base.cpp                             |  621 ++++++++++
 src/session_base.hpp                             |  162 +++
 src/signaler.cpp                                 |  555 +++++++++
 src/signaler.hpp                                 |   80 ++
 src/socket_base.cpp                              | 1341 ++++++++++++++++++++++
 src/socket_base.hpp                              |  268 +++++
 src/socks.cpp                                    |  273 +++++
 src/socks.hpp                                    |  125 ++
 src/socks_connecter.cpp                          |  468 ++++++++
 src/socks_connecter.hpp                          |  154 +++
 src/stdint.hpp                                   |   62 +
 src/stream.cpp                                   |  295 +++++
 src/stream.hpp                                   |   97 ++
 src/stream_engine.cpp                            |  948 +++++++++++++++
 src/stream_engine.hpp                            |  206 ++++
 src/sub.cpp                                      |   80 ++
 src/sub.hpp                                      |   54 +
 src/tcp.cpp                                      |  244 ++++
 src/tcp.hpp                                      |   52 +
 src/tcp_address.cpp                              |  662 +++++++++++
 src/tcp_address.hpp                              |  106 ++
 src/tcp_connecter.cpp                            |  357 ++++++
 src/tcp_connecter.hpp                            |  121 ++
 src/tcp_listener.cpp                             |  323 ++++++
 src/tcp_listener.hpp                             |   89 ++
 src/thread.cpp                                   |  134 +++
 src/thread.hpp                                   |   81 ++
 src/tipc_address.cpp                             |  107 ++
 src/tipc_address.hpp                             |   65 ++
 src/tipc_connecter.cpp                           |  256 +++++
 src/tipc_connecter.hpp                           |  127 ++
 src/tipc_listener.cpp                            |  178 +++
 src/tipc_listener.hpp                            |   97 ++
 src/trie.cpp                                     |  334 ++++++
 src/trie.hpp                                     |   76 ++
 src/v1_decoder.cpp                               |  148 +++
 src/v1_decoder.hpp                               |   57 +
 src/v1_encoder.cpp                               |   65 ++
 src/v1_encoder.hpp                               |   49 +
 src/v2_decoder.cpp                               |  142 +++
 src/v2_decoder.hpp                               |   57 +
 src/v2_encoder.cpp                               |   67 ++
 src/v2_encoder.hpp                               |   49 +
 src/v2_protocol.hpp                              |   39 +
 src/version.rc.in                                |   93 ++
 src/windows.hpp                                  |   73 ++
 src/wire.hpp                                     |   98 ++
 src/xpub.cpp                                     |  253 ++++
 src/xpub.hpp                                     |  106 ++
 src/xsub.cpp                                     |  235 ++++
 src/xsub.hpp                                     |   93 ++
 src/ypipe.hpp                                    |  209 ++++
 src/ypipe_base.hpp                               |   44 +
 src/ypipe_conflate.hpp                           |  127 ++
 src/yqueue.hpp                                   |  209 ++++
 src/zmq.cpp                                      | 1097 ++++++++++++++++++
 src/zmq_utils.cpp                                |  256 +++++
 tests/CMakeLists.txt                             |   82 ++
 tests/test_abstract_ipc.cpp                      |   57 +
 tests/test_atomics.cpp                           |   38 +
 tests/test_bind_src_address.cpp                  |   47 +
 tests/test_capabilities.cpp                      |   61 +
 tests/test_client_drop_more.cpp                  |  106 ++
 tests/test_client_server.cpp                     |   85 ++
 tests/test_conflate.cpp                          |   72 ++
 tests/test_connect_delay_tipc.cpp                |  238 ++++
 tests/test_connect_resolve.cpp                   |   57 +
 tests/test_connect_rid.cpp                       |  178 +++
 tests/test_ctx_destroy.cpp                       |   90 ++
 tests/test_ctx_options.cpp                       |   70 ++
 tests/test_diffserv.cpp                          |   70 ++
 tests/test_disconnect_inproc.cpp                 |  127 ++
 tests/test_filter_ipc.cpp                        |  161 +++
 tests/test_fork.cpp                              |   81 ++
 tests/test_hwm.cpp                               |  299 +++++
 tests/test_hwm_pubsub.cpp                        |  161 +++
 tests/test_immediate.cpp                         |  228 ++++
 tests/test_inproc_connect.cpp                    |  479 ++++++++
 tests/test_invalid_rep.cpp                       |   88 ++
 tests/test_iov.cpp                               |  106 ++
 tests/test_ipc_wildcard.cpp                      |   55 +
 tests/test_issue_566.cpp                         |   85 ++
 tests/test_last_endpoint.cpp                     |   56 +
 tests/test_many_sockets.cpp                      |   90 ++
 tests/test_metadata.cpp                          |  120 ++
 tests/test_monitor.cpp                           |  128 +++
 tests/test_msg_flags.cpp                         |  117 ++
 tests/test_pair_inproc.cpp                       |   71 ++
 tests/test_pair_ipc.cpp                          |   50 +
 tests/test_pair_tcp.cpp                          |   50 +
 tests/test_pair_tipc.cpp                         |   54 +
 tests/test_probe_router.cpp                      |   72 ++
 tests/test_proxy.cpp                             |  251 ++++
 tests/test_pub_invert_matching.cpp               |  126 ++
 tests/test_req_correlate.cpp                     |  177 +++
 tests/test_req_relaxed.cpp                       |  116 ++
 tests/test_reqrep_device.cpp                     |  135 +++
 tests/test_reqrep_device_tipc.cpp                |  143 +++
 tests/test_reqrep_inproc.cpp                     |   50 +
 tests/test_reqrep_ipc.cpp                        |   50 +
 tests/test_reqrep_tcp.cpp                        |   50 +
 tests/test_reqrep_tipc.cpp                       |   54 +
 tests/test_router_handover.cpp                   |  101 ++
 tests/test_router_mandatory.cpp                  |   81 ++
 tests/test_router_mandatory_hwm.cpp              |  116 ++
 tests/test_router_mandatory_tipc.cpp             |   62 +
 tests/test_security_curve.cpp                    |  281 +++++
 tests/test_security_null.cpp                     |  177 +++
 tests/test_security_plain.cpp                    |  185 +++
 tests/test_server_drop_more.cpp                  |  106 ++
 tests/test_shutdown_stress.cpp                   |   80 ++
 tests/test_shutdown_stress_tipc.cpp              |   93 ++
 tests/test_spec_dealer.cpp                       |  254 ++++
 tests/test_spec_pushpull.cpp                     |  293 +++++
 tests/test_spec_rep.cpp                          |  155 +++
 tests/test_spec_req.cpp                          |  253 ++++
 tests/test_spec_router.cpp                       |  204 ++++
 tests/test_srcfd.cpp                             |   99 ++
 tests/test_stream.cpp                            |  281 +++++
 tests/test_stream_disconnect.cpp                 |  263 +++++
 tests/test_stream_empty.cpp                      |   60 +
 tests/test_stream_timeout.cpp                    |  216 ++++
 tests/test_sub_forward.cpp                       |   91 ++
 tests/test_sub_forward_tipc.cpp                  |  101 ++
 tests/test_system.cpp                            |   89 ++
 tests/test_term_endpoint.cpp                     |  157 +++
 tests/test_term_endpoint_tipc.cpp                |  120 ++
 tests/test_timeo.cpp                             |   75 ++
 tests/test_xpub_manual.cpp                       |   82 ++
 tests/test_xpub_nodrop.cpp                       |  106 ++
 tests/test_xpub_welcome_msg.cpp                  |   71 ++
 tests/testutil.hpp                               |  298 +++++
 tools/curve_keygen.cpp                           |   55 +
 tweetnacl/contrib/randombytes/devurandom.c       |   44 +
 tweetnacl/contrib/randombytes/devurandom.h       |   25 +
 tweetnacl/contrib/randombytes/randombytes.h      |    5 +
 tweetnacl/src/tweetnacl.c                        |  818 +++++++++++++
 tweetnacl/src/tweetnacl.h                        |  273 +++++
 tweetnacl/src/tweetnacl_base.h                   |   41 +
 version.sh                                       |   21 +
 500 files changed, 72068 insertions(+)

commit c9418db6844155fa907cb41deab7a50c47843fd9
Merge: e05c805 54b5621
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Feb 7 16:17:50 2015 +0100

    Merge pull request #1344 from febeling/cond-build-tools
    
    Problem: Cross compile for iOS isn't working for auxiliary tools

commit 54b56210ad5e2a8a8be5ba3accb2aeeac89aec0c
Author: Florian Ebeling <florian.ebeling@gmail.com>
Date:   Sat Feb 7 15:30:32 2015 +0100

    Problem: curve keygen build cannot be switched off

 Makefile.am  | 2 ++
 configure.ac | 8 ++++++++
 2 files changed, 10 insertions(+)

commit 2d59594a3a9b7b7f475851b41d2223a622790957
Author: Florian Ebeling <florian.ebeling@gmail.com>
Date:   Sat Feb 7 15:28:24 2015 +0100

    Problem: perf tools build cannot be switched off

 .gitignore                                       |  140 +++
 .hgeol                                           |    2 +
 .travis.yml                                      |   10 +
 AUTHORS                                          |  138 +++
 CMakeLists.txt                                   |  846 ++++++++++++++
 COPYING                                          |  674 +++++++++++
 COPYING.LESSER                                   |  181 +++
 Dockerfile                                       |   11 +
 INSTALL                                          |  246 ++++
 MAINTAINERS                                      |   56 +
 Makefile.am                                      |  657 +++++++++++
 NEWS                                             |  978 ++++++++++++++++
 README.cygwin.md                                 |   15 +
 README.md                                        |   38 +
 acinclude.m4                                     |  962 ++++++++++++++++
 autogen.sh                                       |   45 +
 branding.bmp                                     |  Bin 0 -> 25818 bytes
 builds/cmake/Modules/FindAsciiDoc.cmake          |   24 +
 builds/cmake/Modules/TestZMQVersion.cmake        |   18 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake    |  129 +++
 builds/cmake/NSIS.template32.in                  |  952 +++++++++++++++
 builds/cmake/NSIS.template64.in                  |  960 ++++++++++++++++
 builds/cmake/platform.hpp.in                     |   90 ++
 builds/cygwin/Makefile.cygwin                    |   47 +
 builds/mingw32/Makefile.mingw32                  |   47 +
 builds/mingw32/platform.hpp                      |   32 +
 builds/msvc/Makefile.am                          |  103 ++
 builds/msvc/build/buildall.bat                   |   10 +
 builds/msvc/build/buildbase.bat                  |   69 ++
 builds/msvc/errno.cpp                            |   32 +
 builds/msvc/errno.hpp                            |   56 +
 builds/msvc/platform.hpp                         |   32 +
 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                           |   14 +
 builds/msvc/resource.h                           |   14 +
 builds/msvc/resource.rc                          |  Bin 0 -> 4642 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          |  263 +++++
 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   |   48 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2010/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2010/libsodium.import.props        |   52 +
 builds/msvc/vs2010/libsodium.import.xml          |   17 +
 builds/msvc/vs2010/libzmq.import.props           |   66 ++
 builds/msvc/vs2010/libzmq.import.xml             |   38 +
 builds/msvc/vs2010/libzmq.sln                    |  206 ++++
 builds/msvc/vs2010/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2010/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2010/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2010/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2010/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2010/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2012/libsodium.import.props        |   52 +
 builds/msvc/vs2012/libsodium.import.xml          |   17 +
 builds/msvc/vs2012/libzmq.import.props           |   66 ++
 builds/msvc/vs2012/libzmq.import.xml             |   38 +
 builds/msvc/vs2012/libzmq.sln                    |  206 ++++
 builds/msvc/vs2012/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2012/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2012/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2012/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2012/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2012/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2013/libsodium.import.props        |   52 +
 builds/msvc/vs2013/libsodium.import.xml          |   17 +
 builds/msvc/vs2013/libzmq.import.props           |   66 ++
 builds/msvc/vs2013/libzmq.import.xml             |   38 +
 builds/msvc/vs2013/libzmq.sln                    |  208 ++++
 builds/msvc/vs2013/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2013/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2013/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2013/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2013/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2013/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj |   79 ++
 builds/nuget/libzmq.autopkg                      |   52 +
 builds/nuget/readme.nuget                        |   20 +
 builds/qt-android/android_build_helper.sh        |  307 +++++
 builds/qt-android/build.sh                       |   63 +
 builds/qt-android/ci_build.sh                    |   14 +
 builds/redhat/zeromq.spec.in                     |  201 ++++
 builds/valgrind/valgrind.supp                    |   14 +
 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                         |   85 ++
 builds/zos/zc++                                  |   42 +
 ci_build.sh                                      |   15 +
 configure.ac                                     |  563 +++++++++
 doc/Makefile.am                                  |   58 +
 doc/asciidoc.conf                                |   56 +
 doc/zmq.txt                                      |  264 +++++
 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                                 |  102 ++
 doc/zmq_close.txt                                |   52 +
 doc/zmq_connect.txt                              |  100 ++
 doc/zmq_ctx_destroy.txt                          |   67 ++
 doc/zmq_ctx_get.txt                              |   87 ++
 doc/zmq_ctx_new.txt                              |   50 +
 doc/zmq_ctx_set.txt                              |  103 ++
 doc/zmq_ctx_shutdown.txt                         |   52 +
 doc/zmq_ctx_term.txt                             |   67 ++
 doc/zmq_curve.txt                                |   92 ++
 doc/zmq_curve_keypair.txt                        |   56 +
 doc/zmq_disconnect.txt                           |   75 ++
 doc/zmq_errno.txt                                |   50 +
 doc/zmq_getsockopt.txt                           |  746 ++++++++++++
 doc/zmq_gssapi.txt                               |   57 +
 doc/zmq_has.txt                                  |   43 +
 doc/zmq_init.txt                                 |   52 +
 doc/zmq_inproc.txt                               |   85 ++
 doc/zmq_ipc.txt                                  |  105 ++
 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                             |   75 ++
 doc/zmq_msg_init.txt                             |   65 ++
 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_send.txt                             |  125 ++
 doc/zmq_msg_set.txt                              |   46 +
 doc/zmq_msg_size.txt                             |   48 +
 doc/zmq_null.txt                                 |   27 +
 doc/zmq_pgm.txt                                  |  163 +++
 doc/zmq_plain.txt                                |   37 +
 doc/zmq_poll.txt                                 |  135 +++
 doc/zmq_proxy.txt                                |   98 ++
 doc/zmq_proxy_steerable.txt                      |   98 ++
 doc/zmq_recv.txt                                 |   90 ++
 doc/zmq_recvmsg.txt                              |  121 ++
 doc/zmq_send.txt                                 |  102 ++
 doc/zmq_send_const.txt                           |  103 ++
 doc/zmq_sendmsg.txt                              |  119 ++
 doc/zmq_setsockopt.txt                           | 1022 +++++++++++++++++
 doc/zmq_socket.txt                               |  455 ++++++++
 doc/zmq_socket_monitor.txt                       |  239 ++++
 doc/zmq_strerror.txt                             |   56 +
 doc/zmq_tcp.txt                                  |  117 ++
 doc/zmq_term.txt                                 |   66 ++
 doc/zmq_tipc.txt                                 |   82 ++
 doc/zmq_unbind.txt                               |   88 ++
 doc/zmq_version.txt                              |   54 +
 doc/zmq_z85_decode.txt                           |   50 +
 doc/zmq_z85_encode.txt                           |   57 +
 include/zmq.h                                    |  487 ++++++++
 include/zmq_utils.h                              |   20 +
 installer.ico                                    |  Bin 0 -> 2842 bytes
 packaging/nuget/package.bat                      |   13 +
 packaging/nuget/package.config                   |    6 +
 packaging/nuget/package.gsl                      |  265 +++++
 packaging/nuget/package.nuspec                   |   99 ++
 packaging/nuget/package.targets                  |  130 +++
 packaging/nuget/package.xml                      |   22 +
 perf/inproc_lat.cpp                              |  231 ++++
 perf/inproc_thr.cpp                              |  241 ++++
 perf/local_lat.cpp                               |  107 ++
 perf/local_thr.cpp                               |  131 +++
 perf/remote_lat.cpp                              |  120 ++
 perf/remote_thr.cpp                              |   98 ++
 src/address.cpp                                  |   95 ++
 src/address.hpp                                  |   57 +
 src/array.hpp                                    |  153 +++
 src/atomic_counter.hpp                           |  212 ++++
 src/atomic_ptr.hpp                               |  211 ++++
 src/blob.hpp                                     |  129 +++
 src/client.cpp                                   |  102 ++
 src/client.hpp                                   |   71 ++
 src/clock.cpp                                    |  200 ++++
 src/clock.hpp                                    |   59 +
 src/command.hpp                                  |  161 +++
 src/config.hpp                                   |   87 ++
 src/ctx.cpp                                      |  567 +++++++++
 src/ctx.hpp                                      |  216 ++++
 src/curve_client.cpp                             |  450 ++++++++
 src/curve_client.hpp                             |  119 ++
 src/curve_server.cpp                             |  720 ++++++++++++
 src/curve_server.hpp                             |  128 +++
 src/dbuffer.hpp                                  |  134 +++
 src/dealer.cpp                                   |  131 +++
 src/dealer.hpp                                   |   79 ++
 src/decoder.hpp                                  |  173 +++
 src/devpoll.cpp                                  |  194 ++++
 src/devpoll.hpp                                  |  109 ++
 src/dist.cpp                                     |  222 ++++
 src/dist.hpp                                     |  110 ++
 src/encoder.hpp                                  |  175 +++
 src/epoll.cpp                                    |  182 +++
 src/epoll.hpp                                    |  105 ++
 src/err.cpp                                      |  376 ++++++
 src/err.hpp                                      |  158 +++
 src/fd.hpp                                       |   44 +
 src/fq.cpp                                       |  152 +++
 src/fq.hpp                                       |   82 ++
 src/gssapi_client.cpp                            |  220 ++++
 src/gssapi_client.hpp                            |   83 ++
 src/gssapi_mechanism_base.cpp                    |  337 ++++++
 src/gssapi_mechanism_base.hpp                    |  122 ++
 src/gssapi_server.cpp                            |  367 ++++++
 src/gssapi_server.hpp                            |   86 ++
 src/i_decoder.hpp                                |   51 +
 src/i_encoder.hpp                                |   50 +
 src/i_engine.hpp                                 |   55 +
 src/i_poll_events.hpp                            |   45 +
 src/io_object.cpp                                |  106 ++
 src/io_object.hpp                                |   79 ++
 src/io_thread.cpp                                |  102 ++
 src/io_thread.hpp                                |   89 ++
 src/ip.cpp                                       |  166 +++
 src/ip.hpp                                       |   47 +
 src/ipc_address.cpp                              |   95 ++
 src/ipc_address.hpp                              |   66 ++
 src/ipc_connecter.cpp                            |  265 +++++
 src/ipc_connecter.hpp                            |  127 ++
 src/ipc_listener.cpp                             |  305 +++++
 src/ipc_listener.hpp                             |  104 ++
 src/kqueue.cpp                                   |  215 ++++
 src/kqueue.hpp                                   |  117 ++
 src/lb.cpp                                       |  150 +++
 src/lb.hpp                                       |   78 ++
 src/libzmq.pc.cmake.in                           |   10 +
 src/libzmq.pc.in                                 |   10 +
 src/libzmq.vers                                  |    4 +
 src/likely.hpp                                   |   32 +
 src/mailbox.cpp                                  |   86 ++
 src/mailbox.hpp                                  |   80 ++
 src/mechanism.cpp                                |  188 +++
 src/mechanism.hpp                                |  129 +++
 src/metadata.cpp                                 |   45 +
 src/metadata.hpp                                 |   60 +
 src/msg.cpp                                      |  396 +++++++
 src/msg.hpp                                      |  184 +++
 src/mtrie.cpp                                    |  430 +++++++
 src/mtrie.hpp                                    |   91 ++
 src/mutex.hpp                                    |  157 +++
 src/norm_engine.cpp                              |  728 ++++++++++++
 src/norm_engine.hpp                              |  188 +++
 src/null_mechanism.cpp                           |  348 ++++++
 src/null_mechanism.hpp                           |   74 ++
 src/object.cpp                                   |  427 +++++++
 src/object.hpp                                   |  142 +++
 src/options.cpp                                  |  876 ++++++++++++++
 src/options.hpp                                  |  191 +++
 src/own.cpp                                      |  205 ++++
 src/own.hpp                                      |  144 +++
 src/pair.cpp                                     |  131 +++
 src/pair.hpp                                     |   68 ++
 src/pgm_receiver.cpp                             |  296 +++++
 src/pgm_receiver.hpp                             |  142 +++
 src/pgm_sender.cpp                               |  244 ++++
 src/pgm_sender.hpp                               |  119 ++
 src/pgm_socket.cpp                               |  706 ++++++++++++
 src/pgm_socket.hpp                               |  121 ++
 src/pipe.cpp                                     |  517 +++++++++
 src/pipe.hpp                                     |  232 ++++
 src/plain_client.cpp                             |  212 ++++
 src/plain_client.hpp                             |   69 ++
 src/plain_server.cpp                             |  430 +++++++
 src/plain_server.hpp                             |   83 ++
 src/poll.cpp                                     |  180 +++
 src/poll.hpp                                     |  109 ++
 src/poller.hpp                                   |   51 +
 src/poller_base.cpp                              |   99 ++
 src/poller_base.hpp                              |   85 ++
 src/precompiled.cpp                              |   20 +
 src/precompiled.hpp                              |   46 +
 src/proxy.cpp                                    |  176 +++
 src/proxy.hpp                                    |   32 +
 src/pub.cpp                                      |   43 +
 src/pub.hpp                                      |   52 +
 src/pull.cpp                                     |   67 ++
 src/pull.hpp                                     |   65 ++
 src/push.cpp                                     |   62 +
 src/push.hpp                                     |   63 +
 src/random.cpp                                   |   51 +
 src/random.hpp                                   |   36 +
 src/raw_decoder.cpp                              |   63 +
 src/raw_decoder.hpp                              |   66 ++
 src/raw_encoder.cpp                              |   40 +
 src/raw_encoder.hpp                              |   60 +
 src/reaper.cpp                                   |  127 ++
 src/reaper.hpp                                   |   84 ++
 src/rep.cpp                                      |  123 ++
 src/rep.hpp                                      |   63 +
 src/req.cpp                                      |  279 +++++
 src/req.hpp                                      |  110 ++
 src/router.cpp                                   |  469 ++++++++
 src/router.hpp                                   |  130 +++
 src/select.cpp                                   |  224 ++++
 src/select.hpp                                   |  130 +++
 src/server.cpp                                   |  163 +++
 src/server.hpp                                   |   86 ++
 src/session_base.cpp                             |  621 ++++++++++
 src/session_base.hpp                             |  162 +++
 src/signaler.cpp                                 |  555 +++++++++
 src/signaler.hpp                                 |   80 ++
 src/socket_base.cpp                              | 1341 ++++++++++++++++++++++
 src/socket_base.hpp                              |  268 +++++
 src/socks.cpp                                    |  273 +++++
 src/socks.hpp                                    |  125 ++
 src/socks_connecter.cpp                          |  468 ++++++++
 src/socks_connecter.hpp                          |  154 +++
 src/stdint.hpp                                   |   62 +
 src/stream.cpp                                   |  295 +++++
 src/stream.hpp                                   |   97 ++
 src/stream_engine.cpp                            |  948 +++++++++++++++
 src/stream_engine.hpp                            |  206 ++++
 src/sub.cpp                                      |   80 ++
 src/sub.hpp                                      |   54 +
 src/tcp.cpp                                      |  244 ++++
 src/tcp.hpp                                      |   52 +
 src/tcp_address.cpp                              |  662 +++++++++++
 src/tcp_address.hpp                              |  106 ++
 src/tcp_connecter.cpp                            |  357 ++++++
 src/tcp_connecter.hpp                            |  121 ++
 src/tcp_listener.cpp                             |  323 ++++++
 src/tcp_listener.hpp                             |   89 ++
 src/thread.cpp                                   |  134 +++
 src/thread.hpp                                   |   81 ++
 src/tipc_address.cpp                             |  107 ++
 src/tipc_address.hpp                             |   65 ++
 src/tipc_connecter.cpp                           |  256 +++++
 src/tipc_connecter.hpp                           |  127 ++
 src/tipc_listener.cpp                            |  178 +++
 src/tipc_listener.hpp                            |   97 ++
 src/trie.cpp                                     |  334 ++++++
 src/trie.hpp                                     |   76 ++
 src/v1_decoder.cpp                               |  148 +++
 src/v1_decoder.hpp                               |   57 +
 src/v1_encoder.cpp                               |   65 ++
 src/v1_encoder.hpp                               |   49 +
 src/v2_decoder.cpp                               |  142 +++
 src/v2_decoder.hpp                               |   57 +
 src/v2_encoder.cpp                               |   67 ++
 src/v2_encoder.hpp                               |   49 +
 src/v2_protocol.hpp                              |   39 +
 src/version.rc.in                                |   93 ++
 src/windows.hpp                                  |   73 ++
 src/wire.hpp                                     |   98 ++
 src/xpub.cpp                                     |  253 ++++
 src/xpub.hpp                                     |  106 ++
 src/xsub.cpp                                     |  235 ++++
 src/xsub.hpp                                     |   93 ++
 src/ypipe.hpp                                    |  209 ++++
 src/ypipe_base.hpp                               |   44 +
 src/ypipe_conflate.hpp                           |  127 ++
 src/yqueue.hpp                                   |  209 ++++
 src/zmq.cpp                                      | 1097 ++++++++++++++++++
 src/zmq_utils.cpp                                |  256 +++++
 tests/CMakeLists.txt                             |   82 ++
 tests/test_abstract_ipc.cpp                      |   57 +
 tests/test_atomics.cpp                           |   38 +
 tests/test_bind_src_address.cpp                  |   47 +
 tests/test_capabilities.cpp                      |   61 +
 tests/test_client_drop_more.cpp                  |  106 ++
 tests/test_client_server.cpp                     |   85 ++
 tests/test_conflate.cpp                          |   72 ++
 tests/test_connect_delay_tipc.cpp                |  238 ++++
 tests/test_connect_resolve.cpp                   |   57 +
 tests/test_connect_rid.cpp                       |  178 +++
 tests/test_ctx_destroy.cpp                       |   90 ++
 tests/test_ctx_options.cpp                       |   70 ++
 tests/test_diffserv.cpp                          |   70 ++
 tests/test_disconnect_inproc.cpp                 |  127 ++
 tests/test_filter_ipc.cpp                        |  161 +++
 tests/test_fork.cpp                              |   81 ++
 tests/test_hwm.cpp                               |  299 +++++
 tests/test_hwm_pubsub.cpp                        |  161 +++
 tests/test_immediate.cpp                         |  228 ++++
 tests/test_inproc_connect.cpp                    |  479 ++++++++
 tests/test_invalid_rep.cpp                       |   88 ++
 tests/test_iov.cpp                               |  106 ++
 tests/test_ipc_wildcard.cpp                      |   55 +
 tests/test_issue_566.cpp                         |   85 ++
 tests/test_last_endpoint.cpp                     |   56 +
 tests/test_many_sockets.cpp                      |   90 ++
 tests/test_metadata.cpp                          |  120 ++
 tests/test_monitor.cpp                           |  128 +++
 tests/test_msg_flags.cpp                         |  117 ++
 tests/test_pair_inproc.cpp                       |   71 ++
 tests/test_pair_ipc.cpp                          |   50 +
 tests/test_pair_tcp.cpp                          |   50 +
 tests/test_pair_tipc.cpp                         |   54 +
 tests/test_probe_router.cpp                      |   72 ++
 tests/test_proxy.cpp                             |  251 ++++
 tests/test_pub_invert_matching.cpp               |  126 ++
 tests/test_req_correlate.cpp                     |  177 +++
 tests/test_req_relaxed.cpp                       |  116 ++
 tests/test_reqrep_device.cpp                     |  135 +++
 tests/test_reqrep_device_tipc.cpp                |  143 +++
 tests/test_reqrep_inproc.cpp                     |   50 +
 tests/test_reqrep_ipc.cpp                        |   50 +
 tests/test_reqrep_tcp.cpp                        |   50 +
 tests/test_reqrep_tipc.cpp                       |   54 +
 tests/test_router_handover.cpp                   |  101 ++
 tests/test_router_mandatory.cpp                  |   81 ++
 tests/test_router_mandatory_hwm.cpp              |  116 ++
 tests/test_router_mandatory_tipc.cpp             |   62 +
 tests/test_security_curve.cpp                    |  281 +++++
 tests/test_security_null.cpp                     |  177 +++
 tests/test_security_plain.cpp                    |  185 +++
 tests/test_server_drop_more.cpp                  |  106 ++
 tests/test_shutdown_stress.cpp                   |   80 ++
 tests/test_shutdown_stress_tipc.cpp              |   93 ++
 tests/test_spec_dealer.cpp                       |  254 ++++
 tests/test_spec_pushpull.cpp                     |  293 +++++
 tests/test_spec_rep.cpp                          |  155 +++
 tests/test_spec_req.cpp                          |  253 ++++
 tests/test_spec_router.cpp                       |  204 ++++
 tests/test_srcfd.cpp                             |   99 ++
 tests/test_stream.cpp                            |  281 +++++
 tests/test_stream_disconnect.cpp                 |  263 +++++
 tests/test_stream_empty.cpp                      |   60 +
 tests/test_stream_timeout.cpp                    |  216 ++++
 tests/test_sub_forward.cpp                       |   91 ++
 tests/test_sub_forward_tipc.cpp                  |  101 ++
 tests/test_system.cpp                            |   89 ++
 tests/test_term_endpoint.cpp                     |  157 +++
 tests/test_term_endpoint_tipc.cpp                |  120 ++
 tests/test_timeo.cpp                             |   75 ++
 tests/test_xpub_manual.cpp                       |   82 ++
 tests/test_xpub_nodrop.cpp                       |  106 ++
 tests/test_xpub_welcome_msg.cpp                  |   71 ++
 tests/testutil.hpp                               |  298 +++++
 tools/curve_keygen.cpp                           |   55 +
 tweetnacl/contrib/randombytes/devurandom.c       |   44 +
 tweetnacl/contrib/randombytes/devurandom.h       |   25 +
 tweetnacl/contrib/randombytes/randombytes.h      |    5 +
 tweetnacl/src/tweetnacl.c                        |  818 +++++++++++++
 tweetnacl/src/tweetnacl.h                        |  273 +++++
 tweetnacl/src/tweetnacl_base.h                   |   41 +
 version.sh                                       |   21 +
 500 files changed, 72041 insertions(+)

commit e05c8056885db3c6e1dab5ad7f8823f3f9a04b9f
Merge: 8e89d11 9daf6dd
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Feb 6 15:22:12 2015 +0100

    Merge pull request #1342 from chickenkiller/master
    
    acinclude.m4: make kernel-specific flags cacheable

commit 9daf6dd7c4947ce74ca729de5c3cfe8cbc304702
Author: Lionel Orry <lionel.orry@gmail.com>
Date:   Fri Feb 6 15:11:07 2015 +0100

    acinclude.m4: make kernel-specific flags cacheable
    
    Specifically when cross-compiling, one can be willing to force these
    variable values using the environment of a config.cache file. This
    commit makes this possible.
    
    The affected variables are:
    
    * libzmq_cv_sock_cloexec
    * libzmq_cv_so_keepalive
    * libzmq_cv_tcp_keepcnt
    * libzmq_cv_tcp_keepidle
    * libzmq_cv_tcp_keepintvl
    * libzmq_cv_tcp_keepalive
    
    Signed-off-by: Lionel Orry <lionel.orry@gmail.com>

 acinclude.m4 | 84 ++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 48 insertions(+), 36 deletions(-)

commit 8e89d1162808e4432e4d65223599e1f9eee24dbd
Merge: 34cd718 1a0d134
Author: Joe Eli McIlvain <joe.eli.mac@gmail.com>
Date:   Wed Feb 4 15:42:03 2015 -0900

    Merge pull request #1339 from evoskuil/master
    
    Add missing EOL at EOF.

commit 1a0d134666f16440d71035e36c5866aab87d89ea
Author: evoskuil <eric@voskuil.org>
Date:   Wed Feb 4 16:27:57 2015 -0800

    Add missing EOL at EOF.

 src/client.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 34cd718e0f64c5ccad9545de7c19e2296876242f
Merge: edb3a13 ee96211
Author: Richard Newton <richard_newton@waters.com>
Date:   Mon Feb 2 14:52:45 2015 +0000

    Merge pull request #1337 from somdoron/JenkinsFix
    
    problem: jenkins build failed

commit ee962117efb347d023ae10e7865d0d4c0be8d503
Author: somdoron <somdoron@gmail.com>
Date:   Mon Feb 2 16:42:50 2015 +0200

    fix jenkins build

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

commit edb3a13fd4a4d19d62e8537f4fb68cf05ea04f2b
Merge: a6362a4 79f162a
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Feb 2 15:23:18 2015 +0100

    Merge pull request #1336 from somdoron/ClientSocket
    
    problem: client socket is missing

commit 79f162aa7b6e8d917791e5ec51247613d848b0f1
Author: somdoron <somdoron@gmail.com>
Date:   Mon Feb 2 16:12:21 2015 +0200

    test the client socket can drop multi frame messages that being sent to it

 Makefile.am                     |   6 ++-
 tests/test_client_drop_more.cpp | 106 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 111 insertions(+), 1 deletion(-)

commit 14a19cd5d4103d916ef2d10ed47804f491b137d7
Author: somdoron <somdoron@gmail.com>
Date:   Mon Feb 2 15:57:30 2015 +0200

    test the server socket can drop multi frame messages that being sent to it

 .gitignore                                       |  140 +++
 .hgeol                                           |    2 +
 .travis.yml                                      |   10 +
 AUTHORS                                          |  138 +++
 CMakeLists.txt                                   |  844 ++++++++++++++
 COPYING                                          |  674 +++++++++++
 COPYING.LESSER                                   |  181 +++
 Dockerfile                                       |   11 +
 INSTALL                                          |  246 ++++
 MAINTAINERS                                      |   56 +
 Makefile.am                                      |  651 +++++++++++
 NEWS                                             |  978 ++++++++++++++++
 README.cygwin.md                                 |   15 +
 README.md                                        |   38 +
 acinclude.m4                                     |  950 +++++++++++++++
 autogen.sh                                       |   45 +
 branding.bmp                                     |  Bin 0 -> 25818 bytes
 builds/cmake/Modules/FindAsciiDoc.cmake          |   24 +
 builds/cmake/Modules/TestZMQVersion.cmake        |   18 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake    |  129 +++
 builds/cmake/NSIS.template32.in                  |  952 +++++++++++++++
 builds/cmake/NSIS.template64.in                  |  960 ++++++++++++++++
 builds/cmake/platform.hpp.in                     |   90 ++
 builds/cygwin/Makefile.cygwin                    |   47 +
 builds/mingw32/Makefile.mingw32                  |   47 +
 builds/mingw32/platform.hpp                      |   32 +
 builds/msvc/Makefile.am                          |  103 ++
 builds/msvc/build/buildall.bat                   |   10 +
 builds/msvc/build/buildbase.bat                  |   69 ++
 builds/msvc/errno.cpp                            |   32 +
 builds/msvc/errno.hpp                            |   56 +
 builds/msvc/platform.hpp                         |   32 +
 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                           |   14 +
 builds/msvc/resource.h                           |   14 +
 builds/msvc/resource.rc                          |  Bin 0 -> 4642 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          |  263 +++++
 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   |   48 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2010/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2010/libsodium.import.props        |   52 +
 builds/msvc/vs2010/libsodium.import.xml          |   17 +
 builds/msvc/vs2010/libzmq.import.props           |   66 ++
 builds/msvc/vs2010/libzmq.import.xml             |   38 +
 builds/msvc/vs2010/libzmq.sln                    |  206 ++++
 builds/msvc/vs2010/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2010/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2010/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2010/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2010/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2010/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2012/libsodium.import.props        |   52 +
 builds/msvc/vs2012/libsodium.import.xml          |   17 +
 builds/msvc/vs2012/libzmq.import.props           |   66 ++
 builds/msvc/vs2012/libzmq.import.xml             |   38 +
 builds/msvc/vs2012/libzmq.sln                    |  206 ++++
 builds/msvc/vs2012/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2012/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2012/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2012/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2012/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2012/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2013/libsodium.import.props        |   52 +
 builds/msvc/vs2013/libsodium.import.xml          |   17 +
 builds/msvc/vs2013/libzmq.import.props           |   66 ++
 builds/msvc/vs2013/libzmq.import.xml             |   38 +
 builds/msvc/vs2013/libzmq.sln                    |  208 ++++
 builds/msvc/vs2013/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2013/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2013/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2013/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2013/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2013/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj |   79 ++
 builds/nuget/libzmq.autopkg                      |   52 +
 builds/nuget/readme.nuget                        |   20 +
 builds/qt-android/android_build_helper.sh        |  307 +++++
 builds/qt-android/build.sh                       |   63 +
 builds/qt-android/ci_build.sh                    |   14 +
 builds/redhat/zeromq.spec.in                     |  201 ++++
 builds/valgrind/valgrind.supp                    |   14 +
 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                         |   85 ++
 builds/zos/zc++                                  |   42 +
 ci_build.sh                                      |   15 +
 configure.ac                                     |  555 +++++++++
 doc/Makefile.am                                  |   58 +
 doc/asciidoc.conf                                |   56 +
 doc/zmq.txt                                      |  264 +++++
 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                                 |  102 ++
 doc/zmq_close.txt                                |   52 +
 doc/zmq_connect.txt                              |  100 ++
 doc/zmq_ctx_destroy.txt                          |   67 ++
 doc/zmq_ctx_get.txt                              |   87 ++
 doc/zmq_ctx_new.txt                              |   50 +
 doc/zmq_ctx_set.txt                              |  103 ++
 doc/zmq_ctx_shutdown.txt                         |   52 +
 doc/zmq_ctx_term.txt                             |   67 ++
 doc/zmq_curve.txt                                |   92 ++
 doc/zmq_curve_keypair.txt                        |   56 +
 doc/zmq_disconnect.txt                           |   75 ++
 doc/zmq_errno.txt                                |   50 +
 doc/zmq_getsockopt.txt                           |  746 ++++++++++++
 doc/zmq_gssapi.txt                               |   57 +
 doc/zmq_has.txt                                  |   43 +
 doc/zmq_init.txt                                 |   52 +
 doc/zmq_inproc.txt                               |   85 ++
 doc/zmq_ipc.txt                                  |  105 ++
 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                             |   75 ++
 doc/zmq_msg_init.txt                             |   65 ++
 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_send.txt                             |  125 ++
 doc/zmq_msg_set.txt                              |   46 +
 doc/zmq_msg_size.txt                             |   48 +
 doc/zmq_null.txt                                 |   27 +
 doc/zmq_pgm.txt                                  |  163 +++
 doc/zmq_plain.txt                                |   37 +
 doc/zmq_poll.txt                                 |  135 +++
 doc/zmq_proxy.txt                                |   98 ++
 doc/zmq_proxy_steerable.txt                      |   98 ++
 doc/zmq_recv.txt                                 |   90 ++
 doc/zmq_recvmsg.txt                              |  121 ++
 doc/zmq_send.txt                                 |  102 ++
 doc/zmq_send_const.txt                           |  103 ++
 doc/zmq_sendmsg.txt                              |  119 ++
 doc/zmq_setsockopt.txt                           | 1022 +++++++++++++++++
 doc/zmq_socket.txt                               |  455 ++++++++
 doc/zmq_socket_monitor.txt                       |  239 ++++
 doc/zmq_strerror.txt                             |   56 +
 doc/zmq_tcp.txt                                  |  117 ++
 doc/zmq_term.txt                                 |   66 ++
 doc/zmq_tipc.txt                                 |   82 ++
 doc/zmq_unbind.txt                               |   88 ++
 doc/zmq_version.txt                              |   54 +
 doc/zmq_z85_decode.txt                           |   50 +
 doc/zmq_z85_encode.txt                           |   57 +
 include/zmq.h                                    |  487 ++++++++
 include/zmq_utils.h                              |   20 +
 installer.ico                                    |  Bin 0 -> 2842 bytes
 packaging/nuget/package.bat                      |   13 +
 packaging/nuget/package.config                   |    6 +
 packaging/nuget/package.gsl                      |  265 +++++
 packaging/nuget/package.nuspec                   |   99 ++
 packaging/nuget/package.targets                  |  130 +++
 packaging/nuget/package.xml                      |   22 +
 perf/inproc_lat.cpp                              |  231 ++++
 perf/inproc_thr.cpp                              |  241 ++++
 perf/local_lat.cpp                               |  107 ++
 perf/local_thr.cpp                               |  131 +++
 perf/remote_lat.cpp                              |  120 ++
 perf/remote_thr.cpp                              |   98 ++
 src/address.cpp                                  |   95 ++
 src/address.hpp                                  |   57 +
 src/array.hpp                                    |  153 +++
 src/atomic_counter.hpp                           |  212 ++++
 src/atomic_ptr.hpp                               |  211 ++++
 src/blob.hpp                                     |  129 +++
 src/client.cpp                                   |  102 ++
 src/client.hpp                                   |   71 ++
 src/clock.cpp                                    |  200 ++++
 src/clock.hpp                                    |   59 +
 src/command.hpp                                  |  161 +++
 src/config.hpp                                   |   87 ++
 src/ctx.cpp                                      |  567 +++++++++
 src/ctx.hpp                                      |  216 ++++
 src/curve_client.cpp                             |  450 ++++++++
 src/curve_client.hpp                             |  119 ++
 src/curve_server.cpp                             |  720 ++++++++++++
 src/curve_server.hpp                             |  128 +++
 src/dbuffer.hpp                                  |  134 +++
 src/dealer.cpp                                   |  131 +++
 src/dealer.hpp                                   |   79 ++
 src/decoder.hpp                                  |  173 +++
 src/devpoll.cpp                                  |  194 ++++
 src/devpoll.hpp                                  |  109 ++
 src/dist.cpp                                     |  222 ++++
 src/dist.hpp                                     |  110 ++
 src/encoder.hpp                                  |  175 +++
 src/epoll.cpp                                    |  182 +++
 src/epoll.hpp                                    |  105 ++
 src/err.cpp                                      |  376 ++++++
 src/err.hpp                                      |  158 +++
 src/fd.hpp                                       |   44 +
 src/fq.cpp                                       |  152 +++
 src/fq.hpp                                       |   82 ++
 src/gssapi_client.cpp                            |  220 ++++
 src/gssapi_client.hpp                            |   83 ++
 src/gssapi_mechanism_base.cpp                    |  337 ++++++
 src/gssapi_mechanism_base.hpp                    |  122 ++
 src/gssapi_server.cpp                            |  367 ++++++
 src/gssapi_server.hpp                            |   86 ++
 src/i_decoder.hpp                                |   51 +
 src/i_encoder.hpp                                |   50 +
 src/i_engine.hpp                                 |   55 +
 src/i_poll_events.hpp                            |   45 +
 src/io_object.cpp                                |  106 ++
 src/io_object.hpp                                |   79 ++
 src/io_thread.cpp                                |  102 ++
 src/io_thread.hpp                                |   89 ++
 src/ip.cpp                                       |  166 +++
 src/ip.hpp                                       |   47 +
 src/ipc_address.cpp                              |   95 ++
 src/ipc_address.hpp                              |   66 ++
 src/ipc_connecter.cpp                            |  265 +++++
 src/ipc_connecter.hpp                            |  127 ++
 src/ipc_listener.cpp                             |  305 +++++
 src/ipc_listener.hpp                             |  104 ++
 src/kqueue.cpp                                   |  215 ++++
 src/kqueue.hpp                                   |  117 ++
 src/lb.cpp                                       |  150 +++
 src/lb.hpp                                       |   78 ++
 src/libzmq.pc.cmake.in                           |   10 +
 src/libzmq.pc.in                                 |   10 +
 src/libzmq.vers                                  |    4 +
 src/likely.hpp                                   |   32 +
 src/mailbox.cpp                                  |   86 ++
 src/mailbox.hpp                                  |   80 ++
 src/mechanism.cpp                                |  188 +++
 src/mechanism.hpp                                |  129 +++
 src/metadata.cpp                                 |   45 +
 src/metadata.hpp                                 |   60 +
 src/msg.cpp                                      |  396 +++++++
 src/msg.hpp                                      |  184 +++
 src/mtrie.cpp                                    |  430 +++++++
 src/mtrie.hpp                                    |   91 ++
 src/mutex.hpp                                    |  157 +++
 src/norm_engine.cpp                              |  728 ++++++++++++
 src/norm_engine.hpp                              |  188 +++
 src/null_mechanism.cpp                           |  348 ++++++
 src/null_mechanism.hpp                           |   74 ++
 src/object.cpp                                   |  427 +++++++
 src/object.hpp                                   |  142 +++
 src/options.cpp                                  |  876 ++++++++++++++
 src/options.hpp                                  |  191 +++
 src/own.cpp                                      |  205 ++++
 src/own.hpp                                      |  144 +++
 src/pair.cpp                                     |  131 +++
 src/pair.hpp                                     |   68 ++
 src/pgm_receiver.cpp                             |  296 +++++
 src/pgm_receiver.hpp                             |  142 +++
 src/pgm_sender.cpp                               |  244 ++++
 src/pgm_sender.hpp                               |  119 ++
 src/pgm_socket.cpp                               |  706 ++++++++++++
 src/pgm_socket.hpp                               |  121 ++
 src/pipe.cpp                                     |  517 +++++++++
 src/pipe.hpp                                     |  232 ++++
 src/plain_client.cpp                             |  212 ++++
 src/plain_client.hpp                             |   69 ++
 src/plain_server.cpp                             |  430 +++++++
 src/plain_server.hpp                             |   83 ++
 src/poll.cpp                                     |  180 +++
 src/poll.hpp                                     |  109 ++
 src/poller.hpp                                   |   51 +
 src/poller_base.cpp                              |   99 ++
 src/poller_base.hpp                              |   85 ++
 src/precompiled.cpp                              |   20 +
 src/precompiled.hpp                              |   46 +
 src/proxy.cpp                                    |  176 +++
 src/proxy.hpp                                    |   32 +
 src/pub.cpp                                      |   43 +
 src/pub.hpp                                      |   52 +
 src/pull.cpp                                     |   67 ++
 src/pull.hpp                                     |   65 ++
 src/push.cpp                                     |   62 +
 src/push.hpp                                     |   63 +
 src/random.cpp                                   |   51 +
 src/random.hpp                                   |   36 +
 src/raw_decoder.cpp                              |   63 +
 src/raw_decoder.hpp                              |   66 ++
 src/raw_encoder.cpp                              |   40 +
 src/raw_encoder.hpp                              |   60 +
 src/reaper.cpp                                   |  127 ++
 src/reaper.hpp                                   |   84 ++
 src/rep.cpp                                      |  123 ++
 src/rep.hpp                                      |   63 +
 src/req.cpp                                      |  279 +++++
 src/req.hpp                                      |  110 ++
 src/router.cpp                                   |  469 ++++++++
 src/router.hpp                                   |  130 +++
 src/select.cpp                                   |  224 ++++
 src/select.hpp                                   |  130 +++
 src/server.cpp                                   |  163 +++
 src/server.hpp                                   |   86 ++
 src/session_base.cpp                             |  621 ++++++++++
 src/session_base.hpp                             |  162 +++
 src/signaler.cpp                                 |  555 +++++++++
 src/signaler.hpp                                 |   80 ++
 src/socket_base.cpp                              | 1341 ++++++++++++++++++++++
 src/socket_base.hpp                              |  268 +++++
 src/socks.cpp                                    |  273 +++++
 src/socks.hpp                                    |  125 ++
 src/socks_connecter.cpp                          |  468 ++++++++
 src/socks_connecter.hpp                          |  154 +++
 src/stdint.hpp                                   |   62 +
 src/stream.cpp                                   |  295 +++++
 src/stream.hpp                                   |   97 ++
 src/stream_engine.cpp                            |  948 +++++++++++++++
 src/stream_engine.hpp                            |  206 ++++
 src/sub.cpp                                      |   80 ++
 src/sub.hpp                                      |   54 +
 src/tcp.cpp                                      |  244 ++++
 src/tcp.hpp                                      |   52 +
 src/tcp_address.cpp                              |  662 +++++++++++
 src/tcp_address.hpp                              |  106 ++
 src/tcp_connecter.cpp                            |  357 ++++++
 src/tcp_connecter.hpp                            |  121 ++
 src/tcp_listener.cpp                             |  323 ++++++
 src/tcp_listener.hpp                             |   89 ++
 src/thread.cpp                                   |  134 +++
 src/thread.hpp                                   |   81 ++
 src/tipc_address.cpp                             |  107 ++
 src/tipc_address.hpp                             |   65 ++
 src/tipc_connecter.cpp                           |  256 +++++
 src/tipc_connecter.hpp                           |  127 ++
 src/tipc_listener.cpp                            |  178 +++
 src/tipc_listener.hpp                            |   97 ++
 src/trie.cpp                                     |  334 ++++++
 src/trie.hpp                                     |   76 ++
 src/v1_decoder.cpp                               |  148 +++
 src/v1_decoder.hpp                               |   57 +
 src/v1_encoder.cpp                               |   65 ++
 src/v1_encoder.hpp                               |   49 +
 src/v2_decoder.cpp                               |  142 +++
 src/v2_decoder.hpp                               |   57 +
 src/v2_encoder.cpp                               |   67 ++
 src/v2_encoder.hpp                               |   49 +
 src/v2_protocol.hpp                              |   39 +
 src/version.rc.in                                |   93 ++
 src/windows.hpp                                  |   73 ++
 src/wire.hpp                                     |   98 ++
 src/xpub.cpp                                     |  253 ++++
 src/xpub.hpp                                     |  106 ++
 src/xsub.cpp                                     |  235 ++++
 src/xsub.hpp                                     |   93 ++
 src/ypipe.hpp                                    |  209 ++++
 src/ypipe_base.hpp                               |   44 +
 src/ypipe_conflate.hpp                           |  127 ++
 src/yqueue.hpp                                   |  209 ++++
 src/zmq.cpp                                      | 1097 ++++++++++++++++++
 src/zmq_utils.cpp                                |  256 +++++
 tests/CMakeLists.txt                             |   82 ++
 tests/test_abstract_ipc.cpp                      |   57 +
 tests/test_atomics.cpp                           |   38 +
 tests/test_bind_src_address.cpp                  |   47 +
 tests/test_capabilities.cpp                      |   61 +
 tests/test_client_server.cpp                     |   85 ++
 tests/test_conflate.cpp                          |   72 ++
 tests/test_connect_delay_tipc.cpp                |  238 ++++
 tests/test_connect_resolve.cpp                   |   57 +
 tests/test_connect_rid.cpp                       |  178 +++
 tests/test_ctx_destroy.cpp                       |   90 ++
 tests/test_ctx_options.cpp                       |   70 ++
 tests/test_diffserv.cpp                          |   70 ++
 tests/test_disconnect_inproc.cpp                 |  127 ++
 tests/test_filter_ipc.cpp                        |  161 +++
 tests/test_fork.cpp                              |   81 ++
 tests/test_hwm.cpp                               |  299 +++++
 tests/test_hwm_pubsub.cpp                        |  161 +++
 tests/test_immediate.cpp                         |  228 ++++
 tests/test_inproc_connect.cpp                    |  479 ++++++++
 tests/test_invalid_rep.cpp                       |   88 ++
 tests/test_iov.cpp                               |  106 ++
 tests/test_ipc_wildcard.cpp                      |   55 +
 tests/test_issue_566.cpp                         |   85 ++
 tests/test_last_endpoint.cpp                     |   56 +
 tests/test_many_sockets.cpp                      |   90 ++
 tests/test_metadata.cpp                          |  120 ++
 tests/test_monitor.cpp                           |  128 +++
 tests/test_msg_flags.cpp                         |  117 ++
 tests/test_pair_inproc.cpp                       |   71 ++
 tests/test_pair_ipc.cpp                          |   50 +
 tests/test_pair_tcp.cpp                          |   50 +
 tests/test_pair_tipc.cpp                         |   54 +
 tests/test_probe_router.cpp                      |   72 ++
 tests/test_proxy.cpp                             |  251 ++++
 tests/test_pub_invert_matching.cpp               |  126 ++
 tests/test_req_correlate.cpp                     |  177 +++
 tests/test_req_relaxed.cpp                       |  116 ++
 tests/test_reqrep_device.cpp                     |  135 +++
 tests/test_reqrep_device_tipc.cpp                |  143 +++
 tests/test_reqrep_inproc.cpp                     |   50 +
 tests/test_reqrep_ipc.cpp                        |   50 +
 tests/test_reqrep_tcp.cpp                        |   50 +
 tests/test_reqrep_tipc.cpp                       |   54 +
 tests/test_router_handover.cpp                   |  101 ++
 tests/test_router_mandatory.cpp                  |   81 ++
 tests/test_router_mandatory_hwm.cpp              |  116 ++
 tests/test_router_mandatory_tipc.cpp             |   62 +
 tests/test_security_curve.cpp                    |  281 +++++
 tests/test_security_null.cpp                     |  177 +++
 tests/test_security_plain.cpp                    |  185 +++
 tests/test_server_drop_more.cpp                  |  106 ++
 tests/test_shutdown_stress.cpp                   |   80 ++
 tests/test_shutdown_stress_tipc.cpp              |   93 ++
 tests/test_spec_dealer.cpp                       |  254 ++++
 tests/test_spec_pushpull.cpp                     |  293 +++++
 tests/test_spec_rep.cpp                          |  155 +++
 tests/test_spec_req.cpp                          |  253 ++++
 tests/test_spec_router.cpp                       |  204 ++++
 tests/test_srcfd.cpp                             |   99 ++
 tests/test_stream.cpp                            |  281 +++++
 tests/test_stream_disconnect.cpp                 |  263 +++++
 tests/test_stream_empty.cpp                      |   60 +
 tests/test_stream_timeout.cpp                    |  216 ++++
 tests/test_sub_forward.cpp                       |   91 ++
 tests/test_sub_forward_tipc.cpp                  |  101 ++
 tests/test_system.cpp                            |   89 ++
 tests/test_term_endpoint.cpp                     |  157 +++
 tests/test_term_endpoint_tipc.cpp                |  120 ++
 tests/test_timeo.cpp                             |   75 ++
 tests/test_xpub_manual.cpp                       |   82 ++
 tests/test_xpub_nodrop.cpp                       |  106 ++
 tests/test_xpub_welcome_msg.cpp                  |   71 ++
 tests/testutil.hpp                               |  298 +++++
 tools/curve_keygen.cpp                           |   55 +
 tweetnacl/contrib/randombytes/devurandom.c       |   44 +
 tweetnacl/contrib/randombytes/devurandom.h       |   25 +
 tweetnacl/contrib/randombytes/randombytes.h      |    5 +
 tweetnacl/src/tweetnacl.c                        |  818 +++++++++++++
 tweetnacl/src/tweetnacl.h                        |  273 +++++
 tweetnacl/src/tweetnacl_base.h                   |   41 +
 version.sh                                       |   21 +
 499 files changed, 71907 insertions(+)

commit a6362a454fbd5d44eeb154b40ef516a65e0e8d13
Merge: 9826a7b 5632b57
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Feb 2 10:23:58 2015 +0100

    Merge pull request #1334 from somdoron/ServerSocket
    
    Problem: sockets are not thread safe

commit 5632b57b4a586dd60b68b7f0c40b0fdb76713f54
Author: somdoron <somdoron@gmail.com>
Date:   Mon Feb 2 01:17:37 2015 +0200

    adds server socket type and routing id to msg

 .gitignore                                       |  140 +++
 .hgeol                                           |    2 +
 .travis.yml                                      |   10 +
 AUTHORS                                          |  138 +++
 CMakeLists.txt                                   |  844 ++++++++++++++
 COPYING                                          |  674 +++++++++++
 COPYING.LESSER                                   |  181 +++
 Dockerfile                                       |   11 +
 INSTALL                                          |  246 ++++
 MAINTAINERS                                      |   56 +
 Makefile.am                                      |  645 +++++++++++
 NEWS                                             |  978 ++++++++++++++++
 README.cygwin.md                                 |   15 +
 README.md                                        |   38 +
 acinclude.m4                                     |  950 +++++++++++++++
 autogen.sh                                       |   45 +
 branding.bmp                                     |  Bin 0 -> 25818 bytes
 builds/cmake/Modules/FindAsciiDoc.cmake          |   24 +
 builds/cmake/Modules/TestZMQVersion.cmake        |   18 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake    |  129 +++
 builds/cmake/NSIS.template32.in                  |  952 +++++++++++++++
 builds/cmake/NSIS.template64.in                  |  960 ++++++++++++++++
 builds/cmake/platform.hpp.in                     |   90 ++
 builds/cygwin/Makefile.cygwin                    |   47 +
 builds/mingw32/Makefile.mingw32                  |   47 +
 builds/mingw32/platform.hpp                      |   32 +
 builds/msvc/Makefile.am                          |  103 ++
 builds/msvc/build/buildall.bat                   |   10 +
 builds/msvc/build/buildbase.bat                  |   69 ++
 builds/msvc/errno.cpp                            |   32 +
 builds/msvc/errno.hpp                            |   56 +
 builds/msvc/platform.hpp                         |   32 +
 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                           |   14 +
 builds/msvc/resource.h                           |   14 +
 builds/msvc/resource.rc                          |  Bin 0 -> 4642 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          |  263 +++++
 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   |   48 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2010/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2010/libsodium.import.props        |   52 +
 builds/msvc/vs2010/libsodium.import.xml          |   17 +
 builds/msvc/vs2010/libzmq.import.props           |   66 ++
 builds/msvc/vs2010/libzmq.import.xml             |   38 +
 builds/msvc/vs2010/libzmq.sln                    |  206 ++++
 builds/msvc/vs2010/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2010/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2010/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2010/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2010/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2010/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2012/libsodium.import.props        |   52 +
 builds/msvc/vs2012/libsodium.import.xml          |   17 +
 builds/msvc/vs2012/libzmq.import.props           |   66 ++
 builds/msvc/vs2012/libzmq.import.xml             |   38 +
 builds/msvc/vs2012/libzmq.sln                    |  206 ++++
 builds/msvc/vs2012/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2012/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2012/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2012/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2012/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2012/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2013/libsodium.import.props        |   52 +
 builds/msvc/vs2013/libsodium.import.xml          |   17 +
 builds/msvc/vs2013/libzmq.import.props           |   66 ++
 builds/msvc/vs2013/libzmq.import.xml             |   38 +
 builds/msvc/vs2013/libzmq.sln                    |  208 ++++
 builds/msvc/vs2013/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2013/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2013/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2013/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2013/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2013/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj |   79 ++
 builds/nuget/libzmq.autopkg                      |   52 +
 builds/nuget/readme.nuget                        |   20 +
 builds/qt-android/android_build_helper.sh        |  307 +++++
 builds/qt-android/build.sh                       |   63 +
 builds/qt-android/ci_build.sh                    |   14 +
 builds/redhat/zeromq.spec.in                     |  201 ++++
 builds/valgrind/valgrind.supp                    |   14 +
 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                         |   85 ++
 builds/zos/zc++                                  |   42 +
 ci_build.sh                                      |   15 +
 configure.ac                                     |  555 +++++++++
 doc/Makefile.am                                  |   58 +
 doc/asciidoc.conf                                |   56 +
 doc/zmq.txt                                      |  264 +++++
 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                                 |  102 ++
 doc/zmq_close.txt                                |   52 +
 doc/zmq_connect.txt                              |  100 ++
 doc/zmq_ctx_destroy.txt                          |   67 ++
 doc/zmq_ctx_get.txt                              |   87 ++
 doc/zmq_ctx_new.txt                              |   50 +
 doc/zmq_ctx_set.txt                              |  103 ++
 doc/zmq_ctx_shutdown.txt                         |   52 +
 doc/zmq_ctx_term.txt                             |   67 ++
 doc/zmq_curve.txt                                |   92 ++
 doc/zmq_curve_keypair.txt                        |   56 +
 doc/zmq_disconnect.txt                           |   75 ++
 doc/zmq_errno.txt                                |   50 +
 doc/zmq_getsockopt.txt                           |  746 ++++++++++++
 doc/zmq_gssapi.txt                               |   57 +
 doc/zmq_has.txt                                  |   43 +
 doc/zmq_init.txt                                 |   52 +
 doc/zmq_inproc.txt                               |   85 ++
 doc/zmq_ipc.txt                                  |  105 ++
 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                             |   75 ++
 doc/zmq_msg_init.txt                             |   65 ++
 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_send.txt                             |  125 ++
 doc/zmq_msg_set.txt                              |   46 +
 doc/zmq_msg_size.txt                             |   48 +
 doc/zmq_null.txt                                 |   27 +
 doc/zmq_pgm.txt                                  |  163 +++
 doc/zmq_plain.txt                                |   37 +
 doc/zmq_poll.txt                                 |  135 +++
 doc/zmq_proxy.txt                                |   98 ++
 doc/zmq_proxy_steerable.txt                      |   98 ++
 doc/zmq_recv.txt                                 |   90 ++
 doc/zmq_recvmsg.txt                              |  121 ++
 doc/zmq_send.txt                                 |  102 ++
 doc/zmq_send_const.txt                           |  103 ++
 doc/zmq_sendmsg.txt                              |  119 ++
 doc/zmq_setsockopt.txt                           | 1022 +++++++++++++++++
 doc/zmq_socket.txt                               |  455 ++++++++
 doc/zmq_socket_monitor.txt                       |  239 ++++
 doc/zmq_strerror.txt                             |   56 +
 doc/zmq_tcp.txt                                  |  117 ++
 doc/zmq_term.txt                                 |   66 ++
 doc/zmq_tipc.txt                                 |   82 ++
 doc/zmq_unbind.txt                               |   88 ++
 doc/zmq_version.txt                              |   54 +
 doc/zmq_z85_decode.txt                           |   50 +
 doc/zmq_z85_encode.txt                           |   57 +
 include/zmq.h                                    |  486 ++++++++
 include/zmq_utils.h                              |   20 +
 installer.ico                                    |  Bin 0 -> 2842 bytes
 packaging/nuget/package.bat                      |   13 +
 packaging/nuget/package.config                   |    6 +
 packaging/nuget/package.gsl                      |  265 +++++
 packaging/nuget/package.nuspec                   |   99 ++
 packaging/nuget/package.targets                  |  130 +++
 packaging/nuget/package.xml                      |   22 +
 perf/inproc_lat.cpp                              |  231 ++++
 perf/inproc_thr.cpp                              |  241 ++++
 perf/local_lat.cpp                               |  107 ++
 perf/local_thr.cpp                               |  131 +++
 perf/remote_lat.cpp                              |  120 ++
 perf/remote_thr.cpp                              |   98 ++
 src/address.cpp                                  |   95 ++
 src/address.hpp                                  |   57 +
 src/array.hpp                                    |  153 +++
 src/atomic_counter.hpp                           |  212 ++++
 src/atomic_ptr.hpp                               |  211 ++++
 src/blob.hpp                                     |  129 +++
 src/clock.cpp                                    |  200 ++++
 src/clock.hpp                                    |   59 +
 src/command.hpp                                  |  161 +++
 src/config.hpp                                   |   87 ++
 src/ctx.cpp                                      |  567 +++++++++
 src/ctx.hpp                                      |  216 ++++
 src/curve_client.cpp                             |  450 ++++++++
 src/curve_client.hpp                             |  119 ++
 src/curve_server.cpp                             |  720 ++++++++++++
 src/curve_server.hpp                             |  128 +++
 src/dbuffer.hpp                                  |  134 +++
 src/dealer.cpp                                   |  131 +++
 src/dealer.hpp                                   |   79 ++
 src/decoder.hpp                                  |  173 +++
 src/devpoll.cpp                                  |  194 ++++
 src/devpoll.hpp                                  |  109 ++
 src/dist.cpp                                     |  222 ++++
 src/dist.hpp                                     |  110 ++
 src/encoder.hpp                                  |  175 +++
 src/epoll.cpp                                    |  182 +++
 src/epoll.hpp                                    |  105 ++
 src/err.cpp                                      |  376 ++++++
 src/err.hpp                                      |  158 +++
 src/fd.hpp                                       |   44 +
 src/fq.cpp                                       |  152 +++
 src/fq.hpp                                       |   82 ++
 src/gssapi_client.cpp                            |  220 ++++
 src/gssapi_client.hpp                            |   83 ++
 src/gssapi_mechanism_base.cpp                    |  337 ++++++
 src/gssapi_mechanism_base.hpp                    |  122 ++
 src/gssapi_server.cpp                            |  367 ++++++
 src/gssapi_server.hpp                            |   86 ++
 src/i_decoder.hpp                                |   51 +
 src/i_encoder.hpp                                |   50 +
 src/i_engine.hpp                                 |   55 +
 src/i_poll_events.hpp                            |   45 +
 src/io_object.cpp                                |  106 ++
 src/io_object.hpp                                |   79 ++
 src/io_thread.cpp                                |  102 ++
 src/io_thread.hpp                                |   89 ++
 src/ip.cpp                                       |  166 +++
 src/ip.hpp                                       |   47 +
 src/ipc_address.cpp                              |   95 ++
 src/ipc_address.hpp                              |   66 ++
 src/ipc_connecter.cpp                            |  265 +++++
 src/ipc_connecter.hpp                            |  127 ++
 src/ipc_listener.cpp                             |  305 +++++
 src/ipc_listener.hpp                             |  104 ++
 src/kqueue.cpp                                   |  215 ++++
 src/kqueue.hpp                                   |  117 ++
 src/lb.cpp                                       |  150 +++
 src/lb.hpp                                       |   78 ++
 src/libzmq.pc.cmake.in                           |   10 +
 src/libzmq.pc.in                                 |   10 +
 src/libzmq.vers                                  |    4 +
 src/likely.hpp                                   |   32 +
 src/mailbox.cpp                                  |   86 ++
 src/mailbox.hpp                                  |   80 ++
 src/mechanism.cpp                                |  186 +++
 src/mechanism.hpp                                |  129 +++
 src/metadata.cpp                                 |   45 +
 src/metadata.hpp                                 |   60 +
 src/msg.cpp                                      |  396 +++++++
 src/msg.hpp                                      |  184 +++
 src/mtrie.cpp                                    |  430 +++++++
 src/mtrie.hpp                                    |   91 ++
 src/mutex.hpp                                    |  157 +++
 src/norm_engine.cpp                              |  728 ++++++++++++
 src/norm_engine.hpp                              |  188 +++
 src/null_mechanism.cpp                           |  348 ++++++
 src/null_mechanism.hpp                           |   74 ++
 src/object.cpp                                   |  427 +++++++
 src/object.hpp                                   |  142 +++
 src/options.cpp                                  |  876 ++++++++++++++
 src/options.hpp                                  |  191 ++++
 src/own.cpp                                      |  205 ++++
 src/own.hpp                                      |  144 +++
 src/pair.cpp                                     |  131 +++
 src/pair.hpp                                     |   68 ++
 src/pgm_receiver.cpp                             |  296 +++++
 src/pgm_receiver.hpp                             |  142 +++
 src/pgm_sender.cpp                               |  244 ++++
 src/pgm_sender.hpp                               |  119 ++
 src/pgm_socket.cpp                               |  706 ++++++++++++
 src/pgm_socket.hpp                               |  121 ++
 src/pipe.cpp                                     |  517 +++++++++
 src/pipe.hpp                                     |  232 ++++
 src/plain_client.cpp                             |  212 ++++
 src/plain_client.hpp                             |   69 ++
 src/plain_server.cpp                             |  430 +++++++
 src/plain_server.hpp                             |   83 ++
 src/poll.cpp                                     |  180 +++
 src/poll.hpp                                     |  109 ++
 src/poller.hpp                                   |   51 +
 src/poller_base.cpp                              |   99 ++
 src/poller_base.hpp                              |   85 ++
 src/precompiled.cpp                              |   20 +
 src/precompiled.hpp                              |   46 +
 src/proxy.cpp                                    |  176 +++
 src/proxy.hpp                                    |   32 +
 src/pub.cpp                                      |   43 +
 src/pub.hpp                                      |   52 +
 src/pull.cpp                                     |   67 ++
 src/pull.hpp                                     |   65 ++
 src/push.cpp                                     |   62 +
 src/push.hpp                                     |   63 +
 src/random.cpp                                   |   51 +
 src/random.hpp                                   |   36 +
 src/raw_decoder.cpp                              |   63 +
 src/raw_decoder.hpp                              |   66 ++
 src/raw_encoder.cpp                              |   40 +
 src/raw_encoder.hpp                              |   60 +
 src/reaper.cpp                                   |  127 ++
 src/reaper.hpp                                   |   84 ++
 src/rep.cpp                                      |  123 ++
 src/rep.hpp                                      |   63 +
 src/req.cpp                                      |  279 +++++
 src/req.hpp                                      |  110 ++
 src/router.cpp                                   |  469 ++++++++
 src/router.hpp                                   |  130 +++
 src/select.cpp                                   |  224 ++++
 src/select.hpp                                   |  130 +++
 src/server.cpp                                   |  169 +++
 src/server.hpp                                   |   87 ++
 src/session_base.cpp                             |  620 ++++++++++
 src/session_base.hpp                             |  162 +++
 src/signaler.cpp                                 |  555 +++++++++
 src/signaler.hpp                                 |   80 ++
 src/socket_base.cpp                              | 1337 ++++++++++++++++++++++
 src/socket_base.hpp                              |  268 +++++
 src/socks.cpp                                    |  273 +++++
 src/socks.hpp                                    |  125 ++
 src/socks_connecter.cpp                          |  468 ++++++++
 src/socks_connecter.hpp                          |  154 +++
 src/stdint.hpp                                   |   62 +
 src/stream.cpp                                   |  295 +++++
 src/stream.hpp                                   |   97 ++
 src/stream_engine.cpp                            |  948 +++++++++++++++
 src/stream_engine.hpp                            |  206 ++++
 src/sub.cpp                                      |   80 ++
 src/sub.hpp                                      |   54 +
 src/tcp.cpp                                      |  244 ++++
 src/tcp.hpp                                      |   52 +
 src/tcp_address.cpp                              |  662 +++++++++++
 src/tcp_address.hpp                              |  106 ++
 src/tcp_connecter.cpp                            |  357 ++++++
 src/tcp_connecter.hpp                            |  121 ++
 src/tcp_listener.cpp                             |  323 ++++++
 src/tcp_listener.hpp                             |   89 ++
 src/thread.cpp                                   |  134 +++
 src/thread.hpp                                   |   81 ++
 src/tipc_address.cpp                             |  107 ++
 src/tipc_address.hpp                             |   65 ++
 src/tipc_connecter.cpp                           |  256 +++++
 src/tipc_connecter.hpp                           |  127 ++
 src/tipc_listener.cpp                            |  178 +++
 src/tipc_listener.hpp                            |   97 ++
 src/trie.cpp                                     |  334 ++++++
 src/trie.hpp                                     |   76 ++
 src/v1_decoder.cpp                               |  148 +++
 src/v1_decoder.hpp                               |   57 +
 src/v1_encoder.cpp                               |   65 ++
 src/v1_encoder.hpp                               |   49 +
 src/v2_decoder.cpp                               |  142 +++
 src/v2_decoder.hpp                               |   57 +
 src/v2_encoder.cpp                               |   67 ++
 src/v2_encoder.hpp                               |   49 +
 src/v2_protocol.hpp                              |   39 +
 src/version.rc.in                                |   93 ++
 src/windows.hpp                                  |   73 ++
 src/wire.hpp                                     |   98 ++
 src/xpub.cpp                                     |  253 ++++
 src/xpub.hpp                                     |  106 ++
 src/xsub.cpp                                     |  235 ++++
 src/xsub.hpp                                     |   93 ++
 src/ypipe.hpp                                    |  209 ++++
 src/ypipe_base.hpp                               |   44 +
 src/ypipe_conflate.hpp                           |  127 ++
 src/yqueue.hpp                                   |  209 ++++
 src/zmq.cpp                                      | 1097 ++++++++++++++++++
 src/zmq_utils.cpp                                |  256 +++++
 tests/CMakeLists.txt                             |   82 ++
 tests/test_abstract_ipc.cpp                      |   57 +
 tests/test_atomics.cpp                           |   38 +
 tests/test_bind_src_address.cpp                  |   47 +
 tests/test_capabilities.cpp                      |   61 +
 tests/test_conflate.cpp                          |   72 ++
 tests/test_connect_delay_tipc.cpp                |  238 ++++
 tests/test_connect_resolve.cpp                   |   57 +
 tests/test_connect_rid.cpp                       |  178 +++
 tests/test_ctx_destroy.cpp                       |   90 ++
 tests/test_ctx_options.cpp                       |   70 ++
 tests/test_diffserv.cpp                          |   70 ++
 tests/test_disconnect_inproc.cpp                 |  127 ++
 tests/test_filter_ipc.cpp                        |  161 +++
 tests/test_fork.cpp                              |   81 ++
 tests/test_hwm.cpp                               |  299 +++++
 tests/test_hwm_pubsub.cpp                        |  161 +++
 tests/test_immediate.cpp                         |  228 ++++
 tests/test_inproc_connect.cpp                    |  479 ++++++++
 tests/test_invalid_rep.cpp                       |   88 ++
 tests/test_iov.cpp                               |  106 ++
 tests/test_ipc_wildcard.cpp                      |   55 +
 tests/test_issue_566.cpp                         |   85 ++
 tests/test_last_endpoint.cpp                     |   56 +
 tests/test_many_sockets.cpp                      |   90 ++
 tests/test_metadata.cpp                          |  120 ++
 tests/test_monitor.cpp                           |  128 +++
 tests/test_msg_flags.cpp                         |  117 ++
 tests/test_pair_inproc.cpp                       |   71 ++
 tests/test_pair_ipc.cpp                          |   50 +
 tests/test_pair_tcp.cpp                          |   50 +
 tests/test_pair_tipc.cpp                         |   54 +
 tests/test_probe_router.cpp                      |   72 ++
 tests/test_proxy.cpp                             |  251 ++++
 tests/test_pub_invert_matching.cpp               |  126 ++
 tests/test_req_correlate.cpp                     |  177 +++
 tests/test_req_relaxed.cpp                       |  116 ++
 tests/test_reqrep_device.cpp                     |  135 +++
 tests/test_reqrep_device_tipc.cpp                |  143 +++
 tests/test_reqrep_inproc.cpp                     |   50 +
 tests/test_reqrep_ipc.cpp                        |   50 +
 tests/test_reqrep_tcp.cpp                        |   50 +
 tests/test_reqrep_tipc.cpp                       |   54 +
 tests/test_router_handover.cpp                   |  101 ++
 tests/test_router_mandatory.cpp                  |   81 ++
 tests/test_router_mandatory_hwm.cpp              |  116 ++
 tests/test_router_mandatory_tipc.cpp             |   62 +
 tests/test_security_curve.cpp                    |  281 +++++
 tests/test_security_null.cpp                     |  177 +++
 tests/test_security_plain.cpp                    |  185 +++
 tests/test_server.cpp                            |   87 ++
 tests/test_shutdown_stress.cpp                   |   80 ++
 tests/test_shutdown_stress_tipc.cpp              |   93 ++
 tests/test_spec_dealer.cpp                       |  254 ++++
 tests/test_spec_pushpull.cpp                     |  293 +++++
 tests/test_spec_rep.cpp                          |  155 +++
 tests/test_spec_req.cpp                          |  253 ++++
 tests/test_spec_router.cpp                       |  204 ++++
 tests/test_srcfd.cpp                             |   99 ++
 tests/test_stream.cpp                            |  281 +++++
 tests/test_stream_disconnect.cpp                 |  263 +++++
 tests/test_stream_empty.cpp                      |   60 +
 tests/test_stream_timeout.cpp                    |  216 ++++
 tests/test_sub_forward.cpp                       |   91 ++
 tests/test_sub_forward_tipc.cpp                  |  101 ++
 tests/test_system.cpp                            |   89 ++
 tests/test_term_endpoint.cpp                     |  157 +++
 tests/test_term_endpoint_tipc.cpp                |  120 ++
 tests/test_timeo.cpp                             |   75 ++
 tests/test_xpub_manual.cpp                       |   82 ++
 tests/test_xpub_nodrop.cpp                       |  106 ++
 tests/test_xpub_welcome_msg.cpp                  |   71 ++
 tests/testutil.hpp                               |  298 +++++
 tools/curve_keygen.cpp                           |   55 +
 tweetnacl/contrib/randombytes/devurandom.c       |   44 +
 tweetnacl/contrib/randombytes/devurandom.h       |   25 +
 tweetnacl/contrib/randombytes/randombytes.h      |    5 +
 tweetnacl/src/tweetnacl.c                        |  818 +++++++++++++
 tweetnacl/src/tweetnacl.h                        |  273 +++++
 tweetnacl/src/tweetnacl_base.h                   |   41 +
 version.sh                                       |   21 +
 496 files changed, 71623 insertions(+)

commit 9826a7b19daedf63900a64e11e39a2ca6631b0c1
Author: taotetek <taotetek@users.noreply.github.com>
Date:   Fri Jan 30 12:12:16 2015 +0100

    Merge pull request #1333 from hintjens/master
    
    Problem: test cases are failing on slower PCs (eee PC)

 .gitignore                                       |  140 +++
 .hgeol                                           |    2 +
 .travis.yml                                      |   10 +
 AUTHORS                                          |  138 +++
 CMakeLists.txt                                   |  844 ++++++++++++++
 COPYING                                          |  674 +++++++++++
 COPYING.LESSER                                   |  181 +++
 Dockerfile                                       |   11 +
 INSTALL                                          |  246 ++++
 MAINTAINERS                                      |   56 +
 Makefile.am                                      |  639 +++++++++++
 NEWS                                             |  978 ++++++++++++++++
 README.cygwin.md                                 |   15 +
 README.md                                        |   38 +
 acinclude.m4                                     |  950 +++++++++++++++
 autogen.sh                                       |   45 +
 branding.bmp                                     |  Bin 0 -> 25818 bytes
 builds/cmake/Modules/FindAsciiDoc.cmake          |   24 +
 builds/cmake/Modules/TestZMQVersion.cmake        |   18 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake    |  129 +++
 builds/cmake/NSIS.template32.in                  |  952 +++++++++++++++
 builds/cmake/NSIS.template64.in                  |  960 ++++++++++++++++
 builds/cmake/platform.hpp.in                     |   90 ++
 builds/cygwin/Makefile.cygwin                    |   47 +
 builds/mingw32/Makefile.mingw32                  |   47 +
 builds/mingw32/platform.hpp                      |   32 +
 builds/msvc/Makefile.am                          |  103 ++
 builds/msvc/build/buildall.bat                   |   10 +
 builds/msvc/build/buildbase.bat                  |   69 ++
 builds/msvc/errno.cpp                            |   32 +
 builds/msvc/errno.hpp                            |   56 +
 builds/msvc/platform.hpp                         |   32 +
 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                           |   14 +
 builds/msvc/resource.h                           |   14 +
 builds/msvc/resource.rc                          |  Bin 0 -> 4642 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          |  263 +++++
 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   |   48 +
 builds/msvc/vs2010/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2010/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2010/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2010/libsodium.import.props        |   52 +
 builds/msvc/vs2010/libsodium.import.xml          |   17 +
 builds/msvc/vs2010/libzmq.import.props           |   66 ++
 builds/msvc/vs2010/libzmq.import.xml             |   38 +
 builds/msvc/vs2010/libzmq.sln                    |  206 ++++
 builds/msvc/vs2010/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2010/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2010/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2010/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2010/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2010/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2010/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2010/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2010/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2010/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2010/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2012/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2012/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2012/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2012/libsodium.import.props        |   52 +
 builds/msvc/vs2012/libsodium.import.xml          |   17 +
 builds/msvc/vs2012/libzmq.import.props           |   66 ++
 builds/msvc/vs2012/libzmq.import.xml             |   38 +
 builds/msvc/vs2012/libzmq.sln                    |  206 ++++
 builds/msvc/vs2012/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2012/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2012/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2012/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2012/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2012/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2012/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2012/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2012/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2012/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2012/remote_thr/remote_thr.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_lat/inproc_lat.props   |   48 +
 builds/msvc/vs2013/inproc_lat/inproc_lat.vcxproj |   79 ++
 builds/msvc/vs2013/inproc_thr/inproc_thr.props   |   48 +
 builds/msvc/vs2013/inproc_thr/inproc_thr.vcxproj |   79 ++
 builds/msvc/vs2013/libsodium.import.props        |   52 +
 builds/msvc/vs2013/libsodium.import.xml          |   17 +
 builds/msvc/vs2013/libzmq.import.props           |   66 ++
 builds/msvc/vs2013/libzmq.import.xml             |   38 +
 builds/msvc/vs2013/libzmq.sln                    |  208 ++++
 builds/msvc/vs2013/libzmq/libzmq.props           |   69 ++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj         |  250 ++++
 builds/msvc/vs2013/libzmq/libzmq.vcxproj.filters |  540 +++++++++
 builds/msvc/vs2013/libzmq/libzmq.xml             |   25 +
 builds/msvc/vs2013/local_lat/local_lat.props     |   48 +
 builds/msvc/vs2013/local_lat/local_lat.vcxproj   |   79 ++
 builds/msvc/vs2013/local_thr/local_thr.props     |   48 +
 builds/msvc/vs2013/local_thr/local_thr.vcxproj   |   83 ++
 builds/msvc/vs2013/remote_lat/remote_lat.props   |   48 +
 builds/msvc/vs2013/remote_lat/remote_lat.vcxproj |   83 ++
 builds/msvc/vs2013/remote_thr/remote_thr.props   |   48 +
 builds/msvc/vs2013/remote_thr/remote_thr.vcxproj |   79 ++
 builds/nuget/libzmq.autopkg                      |   52 +
 builds/nuget/readme.nuget                        |   20 +
 builds/qt-android/android_build_helper.sh        |  307 +++++
 builds/qt-android/build.sh                       |   63 +
 builds/qt-android/ci_build.sh                    |   14 +
 builds/redhat/zeromq.spec.in                     |  201 ++++
 builds/valgrind/valgrind.supp                    |   14 +
 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                         |   85 ++
 builds/zos/zc++                                  |   42 +
 ci_build.sh                                      |   15 +
 configure.ac                                     |  555 +++++++++
 doc/Makefile.am                                  |   58 +
 doc/asciidoc.conf                                |   56 +
 doc/zmq.txt                                      |  264 +++++
 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                                 |  102 ++
 doc/zmq_close.txt                                |   52 +
 doc/zmq_connect.txt                              |  100 ++
 doc/zmq_ctx_destroy.txt                          |   67 ++
 doc/zmq_ctx_get.txt                              |   87 ++
 doc/zmq_ctx_new.txt                              |   50 +
 doc/zmq_ctx_set.txt                              |  103 ++
 doc/zmq_ctx_shutdown.txt                         |   52 +
 doc/zmq_ctx_term.txt                             |   67 ++
 doc/zmq_curve.txt                                |   92 ++
 doc/zmq_curve_keypair.txt                        |   56 +
 doc/zmq_disconnect.txt                           |   75 ++
 doc/zmq_errno.txt                                |   50 +
 doc/zmq_getsockopt.txt                           |  746 ++++++++++++
 doc/zmq_gssapi.txt                               |   57 +
 doc/zmq_has.txt                                  |   43 +
 doc/zmq_init.txt                                 |   52 +
 doc/zmq_inproc.txt                               |   85 ++
 doc/zmq_ipc.txt                                  |  105 ++
 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                             |   75 ++
 doc/zmq_msg_init.txt                             |   65 ++
 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_send.txt                             |  125 ++
 doc/zmq_msg_set.txt                              |   46 +
 doc/zmq_msg_size.txt                             |   48 +
 doc/zmq_null.txt                                 |   27 +
 doc/zmq_pgm.txt                                  |  163 +++
 doc/zmq_plain.txt                                |   37 +
 doc/zmq_poll.txt                                 |  135 +++
 doc/zmq_proxy.txt                                |   98 ++
 doc/zmq_proxy_steerable.txt                      |   98 ++
 doc/zmq_recv.txt                                 |   90 ++
 doc/zmq_recvmsg.txt                              |  121 ++
 doc/zmq_send.txt                                 |  102 ++
 doc/zmq_send_const.txt                           |  103 ++
 doc/zmq_sendmsg.txt                              |  119 ++
 doc/zmq_setsockopt.txt                           | 1022 +++++++++++++++++
 doc/zmq_socket.txt                               |  455 ++++++++
 doc/zmq_socket_monitor.txt                       |  239 ++++
 doc/zmq_strerror.txt                             |   56 +
 doc/zmq_tcp.txt                                  |  117 ++
 doc/zmq_term.txt                                 |   66 ++
 doc/zmq_tipc.txt                                 |   82 ++
 doc/zmq_unbind.txt                               |   88 ++
 doc/zmq_version.txt                              |   54 +
 doc/zmq_z85_decode.txt                           |   50 +
 doc/zmq_z85_encode.txt                           |   57 +
 include/zmq.h                                    |  483 ++++++++
 include/zmq_utils.h                              |   20 +
 installer.ico                                    |  Bin 0 -> 2842 bytes
 packaging/nuget/package.bat                      |   13 +
 packaging/nuget/package.config                   |    6 +
 packaging/nuget/package.gsl                      |  265 +++++
 packaging/nuget/package.nuspec                   |   99 ++
 packaging/nuget/package.targets                  |  130 +++
 packaging/nuget/package.xml                      |   22 +
 perf/inproc_lat.cpp                              |  231 ++++
 perf/inproc_thr.cpp                              |  241 ++++
 perf/local_lat.cpp                               |  107 ++
 perf/local_thr.cpp                               |  131 +++
 perf/remote_lat.cpp                              |  120 ++
 perf/remote_thr.cpp                              |   98 ++
 src/address.cpp                                  |   95 ++
 src/address.hpp                                  |   57 +
 src/array.hpp                                    |  153 +++
 src/atomic_counter.hpp                           |  212 ++++
 src/atomic_ptr.hpp                               |  211 ++++
 src/blob.hpp                                     |  129 +++
 src/clock.cpp                                    |  200 ++++
 src/clock.hpp                                    |   59 +
 src/command.hpp                                  |  161 +++
 src/config.hpp                                   |   87 ++
 src/ctx.cpp                                      |  567 +++++++++
 src/ctx.hpp                                      |  216 ++++
 src/curve_client.cpp                             |  450 ++++++++
 src/curve_client.hpp                             |  119 ++
 src/curve_server.cpp                             |  720 ++++++++++++
 src/curve_server.hpp                             |  128 +++
 src/dbuffer.hpp                                  |  134 +++
 src/dealer.cpp                                   |  131 +++
 src/dealer.hpp                                   |   79 ++
 src/decoder.hpp                                  |  173 +++
 src/devpoll.cpp                                  |  194 ++++
 src/devpoll.hpp                                  |  109 ++
 src/dist.cpp                                     |  222 ++++
 src/dist.hpp                                     |  110 ++
 src/encoder.hpp                                  |  175 +++
 src/epoll.cpp                                    |  182 +++
 src/epoll.hpp                                    |  105 ++
 src/err.cpp                                      |  376 ++++++
 src/err.hpp                                      |  158 +++
 src/fd.hpp                                       |   44 +
 src/fq.cpp                                       |  152 +++
 src/fq.hpp                                       |   82 ++
 src/gssapi_client.cpp                            |  220 ++++
 src/gssapi_client.hpp                            |   83 ++
 src/gssapi_mechanism_base.cpp                    |  337 ++++++
 src/gssapi_mechanism_base.hpp                    |  122 ++
 src/gssapi_server.cpp                            |  367 ++++++
 src/gssapi_server.hpp                            |   86 ++
 src/i_decoder.hpp                                |   51 +
 src/i_encoder.hpp                                |   50 +
 src/i_engine.hpp                                 |   55 +
 src/i_poll_events.hpp                            |   45 +
 src/io_object.cpp                                |  106 ++
 src/io_object.hpp                                |   79 ++
 src/io_thread.cpp                                |  102 ++
 src/io_thread.hpp                                |   89 ++
 src/ip.cpp                                       |  166 +++
 src/ip.hpp                                       |   47 +
 src/ipc_address.cpp                              |   95 ++
 src/ipc_address.hpp                              |   66 ++
 src/ipc_connecter.cpp                            |  265 +++++
 src/ipc_connecter.hpp                            |  127 +++
 src/ipc_listener.cpp                             |  305 +++++
 src/ipc_listener.hpp                             |  104 ++
 src/kqueue.cpp                                   |  215 ++++
 src/kqueue.hpp                                   |  117 ++
 src/lb.cpp                                       |  150 +++
 src/lb.hpp                                       |   78 ++
 src/libzmq.pc.cmake.in                           |   10 +
 src/libzmq.pc.in                                 |   10 +
 src/libzmq.vers                                  |    4 +
 src/likely.hpp                                   |   32 +
 src/mailbox.cpp                                  |   86 ++
 src/mailbox.hpp                                  |   80 ++
 src/mechanism.cpp                                |  184 +++
 src/mechanism.hpp                                |  129 +++
 src/metadata.cpp                                 |   45 +
 src/metadata.hpp                                 |   60 +
 src/msg.cpp                                      |  379 ++++++
 src/msg.hpp                                      |  177 +++
 src/mtrie.cpp                                    |  430 +++++++
 src/mtrie.hpp                                    |   91 ++
 src/mutex.hpp                                    |  157 +++
 src/norm_engine.cpp                              |  728 ++++++++++++
 src/norm_engine.hpp                              |  188 +++
 src/null_mechanism.cpp                           |  348 ++++++
 src/null_mechanism.hpp                           |   74 ++
 src/object.cpp                                   |  427 +++++++
 src/object.hpp                                   |  142 +++
 src/options.cpp                                  |  876 ++++++++++++++
 src/options.hpp                                  |  191 ++++
 src/own.cpp                                      |  205 ++++
 src/own.hpp                                      |  144 +++
 src/pair.cpp                                     |  131 +++
 src/pair.hpp                                     |   68 ++
 src/pgm_receiver.cpp                             |  296 +++++
 src/pgm_receiver.hpp                             |  142 +++
 src/pgm_sender.cpp                               |  244 ++++
 src/pgm_sender.hpp                               |  119 ++
 src/pgm_socket.cpp                               |  706 ++++++++++++
 src/pgm_socket.hpp                               |  121 ++
 src/pipe.cpp                                     |  507 ++++++++
 src/pipe.hpp                                     |  225 ++++
 src/plain_client.cpp                             |  212 ++++
 src/plain_client.hpp                             |   69 ++
 src/plain_server.cpp                             |  430 +++++++
 src/plain_server.hpp                             |   83 ++
 src/poll.cpp                                     |  180 +++
 src/poll.hpp                                     |  109 ++
 src/poller.hpp                                   |   51 +
 src/poller_base.cpp                              |   99 ++
 src/poller_base.hpp                              |   85 ++
 src/precompiled.cpp                              |   20 +
 src/precompiled.hpp                              |   46 +
 src/proxy.cpp                                    |  176 +++
 src/proxy.hpp                                    |   32 +
 src/pub.cpp                                      |   43 +
 src/pub.hpp                                      |   52 +
 src/pull.cpp                                     |   67 ++
 src/pull.hpp                                     |   65 ++
 src/push.cpp                                     |   62 +
 src/push.hpp                                     |   63 +
 src/random.cpp                                   |   51 +
 src/random.hpp                                   |   36 +
 src/raw_decoder.cpp                              |   63 +
 src/raw_decoder.hpp                              |   66 ++
 src/raw_encoder.cpp                              |   40 +
 src/raw_encoder.hpp                              |   60 +
 src/reaper.cpp                                   |  127 +++
 src/reaper.hpp                                   |   84 ++
 src/rep.cpp                                      |  123 ++
 src/rep.hpp                                      |   63 +
 src/req.cpp                                      |  279 +++++
 src/req.hpp                                      |  110 ++
 src/router.cpp                                   |  469 ++++++++
 src/router.hpp                                   |  130 +++
 src/select.cpp                                   |  224 ++++
 src/select.hpp                                   |  130 +++
 src/session_base.cpp                             |  618 ++++++++++
 src/session_base.hpp                             |  162 +++
 src/signaler.cpp                                 |  555 +++++++++
 src/signaler.hpp                                 |   80 ++
 src/socket_base.cpp                              | 1333 ++++++++++++++++++++++
 src/socket_base.hpp                              |  268 +++++
 src/socks.cpp                                    |  273 +++++
 src/socks.hpp                                    |  125 ++
 src/socks_connecter.cpp                          |  468 ++++++++
 src/socks_connecter.hpp                          |  154 +++
 src/stdint.hpp                                   |   62 +
 src/stream.cpp                                   |  295 +++++
 src/stream.hpp                                   |   97 ++
 src/stream_engine.cpp                            |  948 +++++++++++++++
 src/stream_engine.hpp                            |  206 ++++
 src/sub.cpp                                      |   80 ++
 src/sub.hpp                                      |   54 +
 src/tcp.cpp                                      |  244 ++++
 src/tcp.hpp                                      |   52 +
 src/tcp_address.cpp                              |  662 +++++++++++
 src/tcp_address.hpp                              |  106 ++
 src/tcp_connecter.cpp                            |  357 ++++++
 src/tcp_connecter.hpp                            |  121 ++
 src/tcp_listener.cpp                             |  323 ++++++
 src/tcp_listener.hpp                             |   89 ++
 src/thread.cpp                                   |  134 +++
 src/thread.hpp                                   |   81 ++
 src/tipc_address.cpp                             |  107 ++
 src/tipc_address.hpp                             |   65 ++
 src/tipc_connecter.cpp                           |  256 +++++
 src/tipc_connecter.hpp                           |  127 +++
 src/tipc_listener.cpp                            |  178 +++
 src/tipc_listener.hpp                            |   97 ++
 src/trie.cpp                                     |  334 ++++++
 src/trie.hpp                                     |   76 ++
 src/v1_decoder.cpp                               |  148 +++
 src/v1_decoder.hpp                               |   57 +
 src/v1_encoder.cpp                               |   65 ++
 src/v1_encoder.hpp                               |   49 +
 src/v2_decoder.cpp                               |  142 +++
 src/v2_decoder.hpp                               |   57 +
 src/v2_encoder.cpp                               |   67 ++
 src/v2_encoder.hpp                               |   49 +
 src/v2_protocol.hpp                              |   39 +
 src/version.rc.in                                |   93 ++
 src/windows.hpp                                  |   73 ++
 src/wire.hpp                                     |   98 ++
 src/xpub.cpp                                     |  253 ++++
 src/xpub.hpp                                     |  106 ++
 src/xsub.cpp                                     |  235 ++++
 src/xsub.hpp                                     |   93 ++
 src/ypipe.hpp                                    |  209 ++++
 src/ypipe_base.hpp                               |   44 +
 src/ypipe_conflate.hpp                           |  127 +++
 src/yqueue.hpp                                   |  209 ++++
 src/zmq.cpp                                      | 1088 ++++++++++++++++++
 src/zmq_utils.cpp                                |  256 +++++
 tests/CMakeLists.txt                             |   82 ++
 tests/test_abstract_ipc.cpp                      |   57 +
 tests/test_atomics.cpp                           |   38 +
 tests/test_bind_src_address.cpp                  |   47 +
 tests/test_capabilities.cpp                      |   61 +
 tests/test_conflate.cpp                          |   72 ++
 tests/test_connect_delay_tipc.cpp                |  238 ++++
 tests/test_connect_resolve.cpp                   |   57 +
 tests/test_connect_rid.cpp                       |  178 +++
 tests/test_ctx_destroy.cpp                       |   90 ++
 tests/test_ctx_options.cpp                       |   70 ++
 tests/test_diffserv.cpp                          |   70 ++
 tests/test_disconnect_inproc.cpp                 |  127 +++
 tests/test_filter_ipc.cpp                        |  161 +++
 tests/test_fork.cpp                              |   81 ++
 tests/test_hwm.cpp                               |  299 +++++
 tests/test_hwm_pubsub.cpp                        |  161 +++
 tests/test_immediate.cpp                         |  228 ++++
 tests/test_inproc_connect.cpp                    |  479 ++++++++
 tests/test_invalid_rep.cpp                       |   88 ++
 tests/test_iov.cpp                               |  106 ++
 tests/test_ipc_wildcard.cpp                      |   55 +
 tests/test_issue_566.cpp                         |   85 ++
 tests/test_last_endpoint.cpp                     |   56 +
 tests/test_many_sockets.cpp                      |   90 ++
 tests/test_metadata.cpp                          |  120 ++
 tests/test_monitor.cpp                           |  128 +++
 tests/test_msg_flags.cpp                         |  117 ++
 tests/test_pair_inproc.cpp                       |   71 ++
 tests/test_pair_ipc.cpp                          |   50 +
 tests/test_pair_tcp.cpp                          |   50 +
 tests/test_pair_tipc.cpp                         |   54 +
 tests/test_probe_router.cpp                      |   72 ++
 tests/test_proxy.cpp                             |  251 ++++
 tests/test_pub_invert_matching.cpp               |  126 ++
 tests/test_req_correlate.cpp                     |  177 +++
 tests/test_req_relaxed.cpp                       |  116 ++
 tests/test_reqrep_device.cpp                     |  135 +++
 tests/test_reqrep_device_tipc.cpp                |  143 +++
 tests/test_reqrep_inproc.cpp                     |   50 +
 tests/test_reqrep_ipc.cpp                        |   50 +
 tests/test_reqrep_tcp.cpp                        |   50 +
 tests/test_reqrep_tipc.cpp                       |   54 +
 tests/test_router_handover.cpp                   |  101 ++
 tests/test_router_mandatory.cpp                  |   81 ++
 tests/test_router_mandatory_hwm.cpp              |  116 ++
 tests/test_router_mandatory_tipc.cpp             |   62 +
 tests/test_security_curve.cpp                    |  281 +++++
 tests/test_security_null.cpp                     |  177 +++
 tests/test_security_plain.cpp                    |  185 +++
 tests/test_shutdown_stress.cpp                   |   80 ++
 tests/test_shutdown_stress_tipc.cpp              |   93 ++
 tests/test_spec_dealer.cpp                       |  254 +++++
 tests/test_spec_pushpull.cpp                     |  293 +++++
 tests/test_spec_rep.cpp                          |  155 +++
 tests/test_spec_req.cpp                          |  253 ++++
 tests/test_spec_router.cpp                       |  204 ++++
 tests/test_srcfd.cpp                             |   99 ++
 tests/test_stream.cpp                            |  281 +++++
 tests/test_stream_disconnect.cpp                 |  263 +++++
 tests/test_stream_empty.cpp                      |   60 +
 tests/test_stream_timeout.cpp                    |  216 ++++
 tests/test_sub_forward.cpp                       |   91 ++
 tests/test_sub_forward_tipc.cpp                  |  101 ++
 tests/test_system.cpp                            |   89 ++
 tests/test_term_endpoint.cpp                     |  157 +++
 tests/test_term_endpoint_tipc.cpp                |  120 ++
 tests/test_timeo.cpp                             |   75 ++
 tests/test_xpub_manual.cpp                       |   82 ++
 tests/test_xpub_nodrop.cpp                       |  106 ++
 tests/test_xpub_welcome_msg.cpp                  |   71 ++
 tests/testutil.hpp                               |  298 +++++
 tools/curve_keygen.cpp                           |   55 +
 tweetnacl/contrib/randombytes/devurandom.c       |   44 +
 tweetnacl/contrib/randombytes/devurandom.h       |   25 +
 tweetnacl/contrib/randombytes/randombytes.h      |    5 +
 tweetnacl/src/tweetnacl.c                        |  818 +++++++++++++
 tweetnacl/src/tweetnacl.h                        |  273 +++++
 tweetnacl/src/tweetnacl_base.h                   |   41 +
 version.sh                                       |   21 +
 493 files changed, 71213 insertions(+)
