# Generated by Makefile. Do not edit.

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.

 NEWS                            | 17 +----------------
 configure.ac                    |  2 +-
 doc/zmq_ctx_get.txt             |  1 +
 doc/zmq_getsockopt.txt          |  6 ++++++
 doc/zmq_setsockopt.txt          |  5 +++++
 include/zmq.h                   | 30 +++++++++++++++---------------
 packaging/debian/changelog      |  2 +-
 packaging/debian/zeromq.dsc.obs |  2 +-
 packaging/redhat/zeromq.spec    |  2 +-
 src/zmq_draft.h                 | 13 +++++++++++++
 tests/test_security_gssapi.cpp  |  6 ++++++
 11 files changed, 51 insertions(+), 35 deletions(-)

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

 src/null_mechanism.cpp       | 29 ++++++++++++++------------
 tests/test_security_null.cpp | 49 +++++++++++++++++++++++++++++++++++++++++---
 tests/test_security_zap.cpp  |  8 +++++---
 3 files changed, 67 insertions(+), 19 deletions(-)

commit e4b3bd86313b0c8b046a13983971f6d57dbc7111
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Mar 22 19:23:04 2018 +0000

    Problem: cannot set ZAP_ENFORCE_DOMAIN in testutil's wrappers
    
    Solution: override unused parameter for NULL wrapper

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

commit 7722381fe7d49086841af4ccfe4448cefed116f9
Merge: 0e1a9a5 1b733e7
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

commit 1b733e75a26cbf9f9c31e8f045efcc1d738223aa
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 21 19:57:54 2018 +0000

    Problem: zmq_connect doc says inproc has to be bound first
    
    Solution: fix it, as since 4.2.0 there is no ordering constraint
    anymore
    Fixes: #2854

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

commit dba4ef28cc3419a7fa87b71c2b46ea0996f94a2d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 21 19:55:55 2018 +0000

    Problem: zmq_close manpage does not say it's asynchronous
    
    Solution: clarify it since it's a common source of confusion

 doc/zmq_close.txt | 3 +++
 1 file changed, 3 insertions(+)

commit 9f2f30b7ffa09acc51d3b87251a47e83b435d5d4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 21 19:54:29 2018 +0000

    Problem: docs say STABLE API still in DRAFT
    
    Solution: update them

 doc/zmq_getsockopt.txt | 6 ------
 doc/zmq_setsockopt.txt | 5 -----
 2 files changed, 11 deletions(-)

commit 0e1a9a5252467cb04ffd03dd616ce13a787c3d86
Merge: 0b99710 6fa9362
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 21 19:37:31 2018 +0000

    Merge pull request #3015 from aytekinar/3012-gcc-fix
    
    Fix gcc build problem

commit 6fa93623516dc57f930c5208ed5f1a83434810b8
Author: Arda Aytekin <aytekin@protonmail.com>
Date:   Wed Mar 21 18:21:39 2018 +0100

    Fix gcc build problem
    
    Fixed gcc-related build problem resulting from `-errwarn=%all` switch.
    
    Fixes #3012.

 CMakeLists.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit 0b997109493f3e9df668bb1031c95b2b4ea81fd1
Merge: 7fb3bdd 3cb79f5
Author: Doron Somech <somdoron@gmail.com>
Date:   Wed Mar 21 19:03:26 2018 +0200

    Merge pull request #3014 from bluca/draft
    
    Problems: some APIs have met stable conditions

commit 3cb79f5042cf32cdb7b1b58d4acf17eba85ec9f7
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 19 21:23:59 2018 +0000

    Problem: ZMQ_BINDTODEVICE has met STABLE conditions
    
    Solution: move them from DRAFT to STABLE since it's been in a public
    release, committed for 6+ months and has not changed.

 NEWS            | 4 ++++
 include/zmq.h   | 2 +-
 src/zmq_draft.h | 1 -
 3 files changed, 5 insertions(+), 2 deletions(-)

commit 374da4207b8034b0fcd67a2cc2165d50e09b9387
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 19 21:08:23 2018 +0000

    Problem: ZMQ_MSG_GSSAPI_* have met STABLE conditions
    
    Solution: move them from DRAFT to STABLE since it's been in a public
    release, committed for 6+ months and has not changed.

 NEWS                           |  7 +++++++
 include/zmq.h                  | 22 +++++++++++-----------
 src/zmq_draft.h                | 11 -----------
 tests/test_security_gssapi.cpp |  6 ------
 4 files changed, 18 insertions(+), 28 deletions(-)

commit a4b74a7b05e9631be9593018092fbfb292600bea
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 19 20:15:24 2018 +0000

    Problem: ZMQ_ZERO_COPY_RCV not marked as DRAFT in docs
    
    Solution: update manpages

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

commit 6411c4a247c08ead50919d16b30eb030eaf44a7e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 19 20:11:42 2018 +0000

    Problem: ZMQ_MSG_T_SIZE has met STABLE conditions
    
    Solution: move it from DRAFT to STABLE since it's been in a public
    release, committed for 6+ months and has not changed.
    Given a new STABLE symbol has been added, bump minor version number.

 NEWS                            | 6 +++++-
 configure.ac                    | 2 +-
 doc/zmq_ctx_get.txt             | 1 -
 include/zmq.h                   | 6 +++---
 packaging/debian/changelog      | 2 +-
 packaging/debian/zeromq.dsc.obs | 2 +-
 packaging/redhat/zeromq.spec    | 2 +-
 src/zmq_draft.h                 | 1 -
 8 files changed, 12 insertions(+), 10 deletions(-)

commit 7fb3bdd59a506d3c6dc8de45aeb64dc37b8c9b95
Merge: 44f7158 f0378bf
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 21 17:17:35 2018 +0100

    Merge pull request #3013 from bluca/newver
    
    Problem: 4.2.4 is out, version is out of date

commit f0378bfbf780c379a54fefdf26c3d586d5acd48a
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 21 16:03:49 2018 +0000

    Problem: 4.2.4 is out, version is out of date
    
    Solution: bump to 4.2.5

 CMakeLists.txt                  | 2 +-
 NEWS                            | 4 ++++
 configure.ac                    | 3 ++-
 include/zmq.h                   | 2 +-
 packaging/debian/changelog      | 2 +-
 packaging/debian/zeromq.dsc.obs | 2 +-
 packaging/redhat/zeromq.spec    | 2 +-
 7 files changed, 11 insertions(+), 6 deletions(-)

commit 44f7158b291941c5fe5e2ba76e57d1676de81430
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 21 15:44:15 2018 +0000

    Finalise changelog for 4.2.4

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

commit 4efc2bf44eec51f730fa45c6c86515a4670aa354
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 21 15:42:17 2018 +0000

    Problem: no mention of #2942 in NEWS
    
    Solution: add it

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

commit 45681798b781ac395a4e49d6a10fd1d8bf54f393
Merge: 15b3dcc 84a3767
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 21 15:43:26 2018 +0000

    Merge pull request #3011 from sigiesec/migrate-to-unity
    
    Migrate test_reqrep_tcp to unity

commit 84a3767d61d1f1c8720da40d370758c37dad5c30
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 21 16:28:10 2018 +0100

    Problem: open TODO comment regarding explicit zmq_disconnect/zmq_unbind
    
    Solution: replaced by a comment explaining why the calls are in the test

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

commit 786a8d48d5a19a78dcaaf2df1f148d5f1ac98ded
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 21 15:05:33 2018 +0100

    Problem: code duplication in test_reqrep_tcp
    
    Solution: extracted make_connect_address

 tests/test_reqrep_tcp.cpp | 44 ++++++++++++++------------------------------
 1 file changed, 14 insertions(+), 30 deletions(-)

commit 8372797cc3b309df6563cfdba1d5cf64d7adbba6
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 21 15:01:25 2018 +0100

    Problem: code duplication in test_reqrep_tcp
    
    Solution: extracted bind_loopback

 tests/test_reqrep_tcp.cpp | 60 +++++++----------------------------------------
 tests/testutil_unity.hpp  | 16 +++++++++++--
 2 files changed, 23 insertions(+), 53 deletions(-)

commit c84c3a525a42c33d4dc00ff3a5927a54e238dd32
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 21 13:54:23 2018 +0100

    Problem: test_reqrep_tcp not yet using unity
    
    Solution: migrate to unity

 Makefile.am               |   3 +-
 tests/test_reqrep_tcp.cpp | 349 +++++++++++++++++++---------------------------
 2 files changed, 148 insertions(+), 204 deletions(-)

commit 15b3dccf47179a88311c84d6ef250565abd05182
Merge: a415ede 780813c
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Mar 20 20:21:18 2018 +0100

    Merge pull request #3009 from bluca/newver
    
    Problem: NEWS out of date

commit 780813c4e7a28a07c422392e27d3846c8b2bf26e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Mar 20 19:18:40 2018 +0000

    Problem: NEWS out of date
    
    Solution: note new features, APIs and major user-visible bug fixes

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

commit a415ede398553ba4ae86391e32352a712b0439a8
Merge: 9d3efcb 6a5af3d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Mar 20 13:46:30 2018 +0000

    Merge pull request #3008 from eponsko/master
    
    Problem: Unnecessary errno_assert

commit 6a5af3dae694010d097d383de2d14a6241f0c536
Author: Pontus Sköldström <pontus.skoldstrom@ri.se>
Date:   Tue Mar 20 14:35:24 2018 +0100

    Removed unnecessary errno_assert

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

commit 9d3efcb03010ff95da1c807faa66278203d3bd1e
Merge: e49a861 65a9670
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 19 18:06:13 2018 +0000

    Merge pull request #3002 from eponsko/master
    
    Problem: ZMQ_DISH over UDP triggers errno_assert() after hitting wate…

commit 65a9670065ed7c155f9226a8d0164598eb9e1cb2
Author: Pontus Sköldström <pontus.skoldstrom@ri.se>
Date:   Mon Mar 19 17:46:29 2018 +0100

    Problem: ZMQ_DISH over UDP triggers errno_assert() after hitting watermark

 src/udp_engine.cpp | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

commit e49a861f7ce0bcf65700de32d314cdb122d5f703
Merge: 4d9fc80 8f5fc70
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon Mar 19 17:25:33 2018 +0100

    Merge pull request #3001 from bluca/sodium_global_init
    
    Problem:  global random init/deinit breaks existing applications

commit 8f5fc705e4483ba907e42a39b46a7741827c7345
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 19 11:46:21 2018 +0000

    Problem:  global random init/deinit breaks existing applications
    
    Solution: restrict it only to the original issue #2632, Tweetnacl on
    *NIX when using /dev/urandom, ie: without the new Linux getrandom()
    syscall.
    
    Existing applications might use atexit to register cleanup functions
    (like CZMQ does), and the current change as-is imposes an ordering
    that did not exist before - the context MUST be created BEFORE
    registering the cleanup with atexit. This is a backward incompatible
    change that is reported to cause aborts in some applications.
    
    Although libsodium's documentation says that its initialisation APIs
    is not thread-safe, nobody has ever reported an issue with it, so
    avoiding the global init/deinit in the libsodium case is the less
    risky option we have.
    
    Tweetnacl users on Windows and on Linux with getrandom (glibc 2.25 and
    Linux kernel 3.17) are not affected by the original issue.
    
    Fixes #2991

 src/random.cpp | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

commit 4d9fc8066fe75795e8ccd77526b16baa5615b6bf
Merge: 8d0d4c7 6d89635
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 16 17:14:12 2018 +0000

    Merge pull request #2999 from sigiesec/migrate-to-unity
    
    Migrate further tests to unity

commit 6d89635f9a6e1102c9d03bb03ed7cd6dcfa4565a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 16 17:03:45 2018 +0100

    Problem: test_udp not using unity
    
    Solution: migrate to unity, merge into test_radio_dish, and split up test cases

 Makefile.am               |   4 --
 tests/CMakeLists.txt      |   1 -
 tests/test_radio_dish.cpp |  50 ++++++++++++++++-
 tests/test_udp.cpp        | 134 ----------------------------------------------
 4 files changed, 48 insertions(+), 141 deletions(-)

commit dc2764f58c7f6b3fc1b677fe9dfe98b5394a3416
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 16 16:35:31 2018 +0100

    Problem: test_last_endpoint not using unity
    
    Solution: migrate to unity

 Makefile.am                  |  3 ++-
 tests/test_last_endpoint.cpp | 40 +++++++++++++++++++++++++---------------
 2 files changed, 27 insertions(+), 16 deletions(-)

commit 1747cbdcac23dd6223e9f37db68eb14118777055
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 16 15:46:39 2018 +0100

    Problem: test_immediate not using unity
    
    Solution: migrate to unity, and split test cases

 Makefile.am              |   3 +-
 tests/test_immediate.cpp | 215 +++++++++++++++++++++--------------------------
 2 files changed, 100 insertions(+), 118 deletions(-)

commit 6f8b6046483d2d3a8ff0f6cbbd028d67ded0ff4b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 16 15:22:14 2018 +0100

    Problem: test_radio_dish not using unity
    
    Solution: migrate to unity, and split test cases

 Makefile.am               |   3 +-
 tests/test_radio_dish.cpp | 197 +++++++++++++++++++++++-----------------------
 2 files changed, 99 insertions(+), 101 deletions(-)

commit cdc298f56711e09e8f787b34ab6d6274e128df83
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 16 15:21:39 2018 +0100

    Problem: bind_loopback_ipv4 not reusable
    
    Solution: Moved bind_loopback_ipv4 to testutil_unity to allow for reuse

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

commit 8d0d4c76ee4bb32c20725506fa04f712e5a33a34
Merge: 9079cf8 eb76ea0
Author: Doron Somech <somdoron@gmail.com>
Date:   Fri Mar 16 13:54:02 2018 +0200

    Merge pull request #2998 from kachanovskiy/master
    
    Fix for #2997

commit eb76ea06bdcbe390067c7a734ad24ea1b858650c
Author: Kachanovskiy <sergey.kachanovskiy@gmx.de>
Date:   Fri Mar 16 12:48:00 2018 +0100

    Fix for #2997

 tests/CMakeLists.txt | 4 ++++
 1 file changed, 4 insertions(+)

commit 9079cf8ed4cd7028efb4d2f86e8c7aeb4757fd7b
Merge: 4cb15ec 57422c7
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Mar 15 16:55:26 2018 +0000

    Merge pull request #2995 from eponsko/master
    
    Problem: Documentation missing for ZMQ_METADATA socket option

commit 4cb15ec6386bbfa541313693ceffd935975a9586
Merge: e388774 7bd57ba
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Mar 15 16:55:05 2018 +0000

    Merge pull request #2994 from sigiesec/migrate-to-unity
    
    Migrate further tests to unity, and split up into individual test cases

commit 57422c7df16c4c2c8e14cb09839a7fc4b1c6f5cd
Author: Pontus Sköldström <pontus.skoldstrom@ri.se>
Date:   Thu Mar 15 17:24:32 2018 +0100

    Problem: Documentation missing for ZMQ_METADATA socket option

 doc/zmq_msg_gets.txt   | 10 ++++++----
 doc/zmq_setsockopt.txt | 20 ++++++++++++++++++++
 2 files changed, 26 insertions(+), 4 deletions(-)

commit 7bd57ba83b9cceea5fbce43abfbbe7cb0d127b9f
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Mar 15 16:09:24 2018 +0100

    Problem: test case tests multiple aspects
    
    Solution: split test case

 tests/test_poller.cpp | 44 +++++++++++++++++++++++++++++++++++++-------
 1 file changed, 37 insertions(+), 7 deletions(-)

commit 3e374d98f1cb3d8819c42744fb5160831cd7c52b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Mar 15 16:01:09 2018 +0100

    Problem: test case tests multiple aspects
    
    Solution: split test case

 tests/test_poller.cpp | 101 ++++++++++++++++++++++++++++++++------------------
 1 file changed, 65 insertions(+), 36 deletions(-)

commit eb0307a9a66c5ae021d7e32c071eff32223340d4
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Mar 15 15:04:24 2018 +0100

    Problem: test case tests multiple aspects
    
    Solution: split test case

 tests/test_poller.cpp | 125 ++++++++++++++++++++++++++++++++++----------------
 1 file changed, 85 insertions(+), 40 deletions(-)

commit 10dae6e8300ed4839b3c1e0ed96dc45dd8edb236
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Mar 15 14:46:17 2018 +0100

    Problem: test_poller not using unity
    
    Solution: migrate to unity, and split test cases

 Makefile.am              |   3 +-
 tests/test_poller.cpp    | 561 ++++++++++++++++++++++++++++-------------------
 tests/testutil_unity.hpp |   7 +
 3 files changed, 345 insertions(+), 226 deletions(-)

commit 991b2336e443ab0f12197198354b8fa5b331b5db
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Mar 15 13:44:24 2018 +0100

    Problem: test_thread_safe not using unity
    
    Solution: migrate to unity, and split test cases

 Makefile.am                |  3 +-
 tests/test_thread_safe.cpp | 91 ++++++++++++++++++++++++++++++----------------
 2 files changed, 62 insertions(+), 32 deletions(-)

commit 5d32828bbf1bc1e07a006094c3792927e29668d1
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Mar 15 11:47:57 2018 +0100

    Problem: test_reconnect_ivl not using unity
    
    Solution: migrate to unity, and reduce code duplication

 Makefile.am                  |   3 +-
 tests/test_reconnect_ivl.cpp | 128 +++++++++++++++++--------------------------
 2 files changed, 52 insertions(+), 79 deletions(-)

commit e3887747373cb9cb0a2f4bc77f15b225984c8376
Merge: b2e50d9 dd5eec3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Mar 15 12:57:40 2018 +0000

    Merge pull request #2981 from eponsko/master
    
    Problem: no support for ZMTP 3.1 application metadata

commit 1e217ac06338897dcacdd1499b69184f6ea7625d
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Mar 15 11:28:50 2018 +0100

    Problem: unity built with unnecessary float but without command line argument support
    
    Solution: add appropriate definitions to build

 Makefile.am          | 2 +-
 tests/CMakeLists.txt | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

commit f92cdf94705a77e37acc1a9330b481952334164b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Mar 15 10:58:56 2018 +0100

    Problem: test_ctx_destroy not using unity, and mixing test cases
    
    Solution: migrate to unit and split up test cases

 Makefile.am                |  3 +-
 tests/test_ctx_destroy.cpp | 80 +++++++++++++++++++++++++++-------------------
 2 files changed, 50 insertions(+), 33 deletions(-)

commit b2e50d9d03b9c124e067070d471fcaed63f79362
Merge: 59516ed fa89fb8
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 14 23:04:53 2018 +0000

    Merge pull request #2992 from sigiesec/migrate-to-unity
    
    Migrate more tests to unity

commit fa89fb86397761f810d7f9eb264c64c8f812d3a5
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 22:33:41 2018 +0100

    Problem: Makefile.am missing unity dependencies
    
    Solution: add unity dependencies/flags

 Makefile.am | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

commit 9553a1f33e16c307985e665577422a30ac91fe4b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 22:29:02 2018 +0100

    Problem: test_connect_resolve not yet using unity
    
    Solution: migrate to unity

 tests/test_connect_resolve.cpp | 88 +++++++++++++++++++++++++++++-------------
 1 file changed, 61 insertions(+), 27 deletions(-)

commit 6f9459e3fb0e261d3fead93e4f52488240bd5ddd
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 19:05:19 2018 +0100

    Migrate tests/test_conflate.cpp to unity

 tests/test_conflate.cpp | 70 ++++++++++++++++++++++++++-----------------------
 1 file changed, 37 insertions(+), 33 deletions(-)

commit d318c95bc2dba0b7bcd5047e743a109de4e008d0
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 18:56:50 2018 +0100

    Problem: different aspects mixed in one test case
    
    Solution: split up test case

 tests/test_client_server.cpp | 65 ++++++++++++++++++++++++++++----------------
 1 file changed, 42 insertions(+), 23 deletions(-)

commit dbcd42c58d23d06e4e10c302810c570d157e7c12
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 18:45:26 2018 +0100

    Migrate tests/test_client_server.cpp to unity

 tests/test_client_server.cpp | 120 +++++++++++++++++++++++++------------------
 1 file changed, 70 insertions(+), 50 deletions(-)

commit 0114572ce6d238a145f6b4d0cdfbee62c1b274ec
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 18:45:25 2018 +0100

    Migrate tests/test_bind_src_address.cpp to unity

 tests/test_bind_src_address.cpp | 45 ++++++++++++++++++++++++-----------------
 1 file changed, 27 insertions(+), 18 deletions(-)

commit be33dce68e31df5ac61fa55704efb48378001e8e
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 18:45:25 2018 +0100

    Migrate tests/test_bind_after_connect_tcp.cpp to unity

 tests/test_bind_after_connect_tcp.cpp | 100 +++++++++++++---------------------
 1 file changed, 38 insertions(+), 62 deletions(-)

commit 631de94563f26fef7b958989535b973bc0f89988
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 15:09:13 2018 +0100

    Problem: test_router_hangover not yet using unity
    
    Solution: migrate to unity

 tests/test_router_handover.cpp | 111 ++++++++++++++++++++---------------------
 1 file changed, 53 insertions(+), 58 deletions(-)

commit 59516ed51a5c8ce7e1de0d9f938141f68507dd3c
Merge: df03bf4 59157f0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 14 13:25:02 2018 +0000

    Merge pull request #2990 from sigiesec/migrate-to-unity
    
    Problem: test assertion failures do not clean up properly

commit dd5eec35be98c924d895ce0959d1f5e03bf84650
Author: Pontus Sköldström <pontus.skoldstrom@ri.se>
Date:   Mon Mar 12 01:41:33 2018 +0100

    Support application metadata through ZMQ_METADATA
    
    Lets the application set per-connection metadata.
    Metadata is specified as "X-key:value" and set using zmq_setsockopt, eg:
    zmq_setsockopt (s, ZMQ_METADATA, "X-key:value", 11);
    
    The peer can then obtain the metadata from a received message:
    char *data = zmq_msg_gets(msg, "X-key");

 Makefile.am                 |   7 +-
 include/zmq.h               |   1 +
 src/mechanism.cpp           |  17 +++++
 src/options.cpp             |  20 ++++++
 src/options.hpp             |   4 ++
 src/zmq_draft.h             |   1 +
 tests/CMakeLists.txt        |   1 +
 tests/test_address_tipc.cpp |  13 ++--
 tests/test_app_meta.cpp     | 167 ++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 226 insertions(+), 5 deletions(-)

commit 59157f0e2fa518a16edda1e71ca398d860601661
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 10:09:18 2018 +0100

    Problem: missing guidelines on proper test cleanup
    
    Solution: add guidelines to tests/README.md

 tests/README.md | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

commit 9e3932b46bf1c27d8e12e4e1a87b90267718fe82
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 14 09:59:16 2018 +0100

    Problem: test assertion failures do not clean up properly
    
    Solution: provide test_context and manage sockets of test_context via setup and teardown

 tests/test_hwm.cpp              | 52 +++++++---------------
 tests/test_router_mandatory.cpp | 47 +++++++------------
 tests/test_sockopt_hwm.cpp      | 35 +++++++--------
 tests/testutil_unity.hpp        | 99 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 147 insertions(+), 86 deletions(-)

commit df03bf4825a25bd1ae592c76520165edb82abfe9
Merge: c9437ab c602361
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 14 08:14:34 2018 +0000

    Merge pull request #2987 from sigiesec/migrate-to-unity
    
    Migrate further tests (test_hwm, test_router_mandatory) to unity

commit c6023618360d7df5e3a42e9a5aa280da52171474
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Mar 13 12:20:29 2018 +0100

    Problem: debug output in CMake file
    
    Solution: removed

 unittests/CMakeLists.txt | 1 -
 1 file changed, 1 deletion(-)

commit 437e9f4f5911b00c8d1f28ced79e93f4416c905f
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Mar 13 12:08:09 2018 +0100

    Problem: tests readme outdated
    
    Solution: fixed description for building tests, added references to unity and unittests

 tests/README.md | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

commit ae558706bfb839ed3acb7c54e20566c339cb9aee
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Mar 13 12:00:41 2018 +0100

    Problem: test_hwm and test_router_mandatory not yet using unity
    
    Solution: migrate to unity

 Makefile.am                     |  10 +-
 tests/CMakeLists.txt            |   2 +-
 tests/test_hwm.cpp              | 282 +++++++++++++++++++++-------------------
 tests/test_router_mandatory.cpp | 229 ++++++++++++++------------------
 tests/testutil_unity.hpp        |  87 +++++++++++++
 5 files changed, 342 insertions(+), 268 deletions(-)

commit c9437ab755fc4f6962751e10da15ab1607ec2c36
Merge: d2293da 79d9f2b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 12 15:41:10 2018 +0000

    Merge pull request #2986 from wittmeie/ws/fix-for-windows-imported-target
    
    Missing IMPORTED_LOCATION_<CONFIG>property for shared-library import-targets (see zeromq/libzmq#2985)

commit d2293da6e5a3719e9db27ce283055f09ca7af8e6
Merge: 9c748f1 c7876c0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 12 14:00:39 2018 +0000

    Merge pull request #2983 from tonytheodore/master
    
    Fixes for mingw cross-compilation

commit 79d9f2ba1e0903f4c34b71409fb13bef04b1a7d8
Author: Steffen Wittmeier <steffen.wittmeier@rohde-schwarz.com>
Date:   Mon Mar 12 13:38:46 2018 +0100

    Fixes missing IMPORTED_LOCATION in import-target

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

commit c7876c097fe493572d67f00d5326bc0bcb31d928
Author: Tony Theodore <tonyt@logyst.com>
Date:   Mon Mar 12 20:20:02 2018 +1100

    Problem: mingw static/shared builds have different preprocessor defines
    
    Solution: remove objects optimisation in library build (similar to #2860)
    and set PUBLIC compile definitions on all static builds instead of MSVC
    only.

 CMakeLists.txt | 40 +++++++++++++++++++++++++---------------
 1 file changed, 25 insertions(+), 15 deletions(-)

commit 9c748f1bf1c039dd1f13927f5df3c8c16e3617dc
Author: Sergey Kachanovskiy <sergey.kachanovskiy@gmx.de>
Date:   Mon Mar 12 11:55:58 2018 +0100

    Partial fix for issue 2963, removed invalid casts from fd_t to int (#2984)
    
    * Fixes issue 2963, ref stream_engine.cpp:981
    
    * Fixes issue 2963, ref socks_connecter.cpp:158
    
    * Fixes issue 2963, ref tcp_listener.cpp:144
    
    * Fixes issue 2963, ref tcp_connecter.cpp:423
    
    * Fixes issue 2963, ref socks_connecter.cpp:436
    
    * Fixes issue 2963, ref tcp_listener.cpp:179
    
    * Fixes issue 2963, ref tcp_listener.cpp:268
    
    * Fixes issue 2963, ref tcp_connecter.cpp:160

 src/socks_connecter.cpp | 4 ++--
 src/stream_engine.cpp   | 2 +-
 src/tcp_connecter.cpp   | 4 ++--
 src/tcp_listener.cpp    | 6 +++---
 4 files changed, 8 insertions(+), 8 deletions(-)

commit 794d7a3143e80ca102a5a7b7dedd3ba7a09d0c34
Author: Tony Theodore <tonyt@logyst.com>
Date:   Mon Mar 12 20:19:27 2018 +1100

    Problem: certain windows header files are actually lowercase
    
    Solution: change case of `WinSock2.h Iphlpapi.h Rpc.h` to match the
    files on disk. This is only noticeable when cross-compiling from a
    case-sensitive system so wouldn't get picked up in MSVC or mingw
    builds running on a windows machine.
    
    MSDN uses capitalised versions in prose and lowercase in code examples:
    https://msdn.microsoft.com/en-us/library/windows/desktop/ms737629(v=vs.85).aspx
    
    Fixes #2978, the missing library message is a little misleading.

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

commit 7bce4ffbc752db659779edc13a1afcca21d22c78
Merge: 4726f72 8d544ef
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sun Mar 11 19:07:23 2018 +0100

    Merge pull request #2982 from bluca/formattweetnacl
    
    Problem: formatting issues in CI

commit 8d544ef1c4861478d022ba3dbd2299232fd1e2a4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Mar 10 12:44:27 2018 +0000

    Problem: formatting issues in the CI
    
    Solution: commit clang-format-diff

 src/ip.cpp              |  6 +++---
 src/options.cpp         |  8 ++++----
 src/socket_base.cpp     |  8 ++++----
 src/socks_connecter.cpp |  2 +-
 src/tcp_connecter.cpp   |  6 +++---
 src/tweetnacl.c         | 10 ++++++----
 src/ypipe.hpp           |  6 +++---
 src/ypipe_conflate.hpp  |  6 +++---
 src/zmq.cpp             |  2 +-
 9 files changed, 28 insertions(+), 26 deletions(-)

commit fef99d6c50d9157e3bb871da68f96e2d939ec355
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Mar 10 12:43:34 2018 +0000

    Problem: tweetnacl is external code and clang-format parses it
    
    Solution: add pragma to make clang-format ignore the external code

 src/tweetnacl.c | 3 +++
 1 file changed, 3 insertions(+)

commit 4726f7262d076ed0b20111cfcdc0df6b33cf7c82
Author: Manuel Segura <manuel.segura4@gmail.com>
Date:   Sat Mar 10 03:03:02 2018 -0800

    Pull request to merge porting to WindRiver VxWorks 6.x (#2966)
    
    * Problem: Still need to port over more files to VxWorks 6.x
    
    Solution: Port more files to VxWorks 6.x
    
    * Problem: Need to port over remaining files to VxWorks 6.x. Also remove POSIX thread dependency for VxWorks (because of priority inversion problem in POSIX mutexes with VxWorks 6.x processes)
    
    Solution: Port over remaining files to VxWorks 6.x. Also removed POSIX thread dependency for VxWorks
    
    * Problem: Needed to modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x.
    
    Solution:  Modify TCP, UDP, TIPC classes with #ifdefs to be compatible with VxWorks 6.x

 builds/vxworks/platform.hpp | 306 ++++++++++++++++++++++++++++++++++++++++++++
 src/address.cpp             |   6 +-
 src/address.hpp             |   7 +-
 src/atomic_ptr.hpp          |   4 +
 src/clock.cpp               |   9 +-
 src/condition_variable.hpp  |  84 ++++++++++++
 src/ip.cpp                  |  71 ++++++++--
 src/ipc_address.cpp         |   3 +-
 src/ipc_address.hpp         |   3 +-
 src/ipc_connecter.cpp       |   4 +-
 src/ipc_connecter.hpp       |   3 +-
 src/ipc_listener.cpp        |   6 +-
 src/ipc_listener.hpp        |   3 +-
 src/mutex.hpp               |  39 ++++++
 src/options.cpp             |   8 +-
 src/select.cpp              |   4 +
 src/session_base.cpp        |   3 +-
 src/signaler.cpp            |  39 ++++++
 src/socket_base.cpp         |  17 ++-
 src/socket_poller.cpp       |   6 +
 src/socket_poller.hpp       |   4 +
 src/socks_connecter.cpp     |  15 ++-
 src/tcp.cpp                 |   9 +-
 src/tcp_address.cpp         |  14 +-
 src/tcp_connecter.cpp       |  23 +++-
 src/tcp_listener.cpp        |  14 +-
 src/thread.cpp              |  62 +++++++++
 src/thread.hpp              |  22 +++-
 src/tipc_address.hpp        |   4 +
 src/tipc_connecter.cpp      |  14 +-
 src/tipc_listener.cpp       |  21 +++
 src/udp_engine.cpp          |  20 +++
 src/ypipe.hpp               |   6 +-
 src/ypipe_conflate.hpp      |   6 +-
 src/zmq.cpp                 |  10 +-
 35 files changed, 809 insertions(+), 60 deletions(-)

commit 0d23b5ca695fbd9899190bc404c42386a919058e
Merge: 1906034 90342e0
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 9 22:45:16 2018 +0100

    Merge pull request #2980 from kachanovskiy/master
    
    Fixed issue #2979

commit 90342e0d29c17a3029d538f8c909fa4d8c003dc4
Author: Kachanovskiy <sergey.kachanovskiy@gmx.de>
Date:   Fri Mar 9 22:24:23 2018 +0100

    Fixed issue #2979

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

commit 19060345e4eb9e1e9410d8567364f25c94696689
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 9 16:47:42 2018 +0000

    Problem: TIPC availability check is too strict (#2977)
    
    * Problem: TIPC availability check is too strict
    
    Solution: at build time only check if the API is available. In the tests
    do a first check and a skip if the functionality is not available.
    
    TIPC needs an in-tree but not loaded by default kernel module, tipc.ko
    to be loaded, which requires root, so it is unlikely to be available on
    any build system by default.
    This will allow most distributions to ship with TIPC support built in,
    and to avoid tests failure if the module is not there.
    
    * Problem: no Travis tests for TIPC
    
    Solution: mark one job with sudo: required and load the kernel module
    
    * Problem: CMake fails when test returns 77 (skip)
    
    Solution: set property to let it mark the test as skipped as intended

 .travis.yml                                   |  3 ++-
 builds/cmake/Modules/ZMQSourceRunChecks.cmake |  7 -------
 ci_build.sh                                   |  4 ++++
 configure.ac                                  |  7 -------
 tests/CMakeLists.txt                          |  1 +
 tests/test_address_tipc.cpp                   |  5 +++++
 tests/test_connect_delay_tipc.cpp             |  5 +++++
 tests/test_pair_tipc.cpp                      |  5 +++++
 tests/test_reqrep_device_tipc.cpp             |  5 +++++
 tests/test_reqrep_tipc.cpp                    |  5 +++++
 tests/test_router_mandatory_tipc.cpp          |  5 +++++
 tests/test_shutdown_stress_tipc.cpp           |  5 +++++
 tests/test_sub_forward_tipc.cpp               |  5 +++++
 tests/test_term_endpoint_tipc.cpp             |  5 +++++
 tests/testutil.hpp                            | 23 +++++++++++++++++++++++
 15 files changed, 75 insertions(+), 15 deletions(-)

commit 7abb8388d61204502334396c1b309304144f5dfa
Author: Pontus.Skoeldstroem <pontus.skoldstrom@ri.se>
Date:   Wed Mar 7 18:31:26 2018 +0100

    Problem: Tests for different TIPC address types missing (#2956)
    
    * Tests for different TIPC address types and code cleanup
    
    * Adds tests for binding/connecting with different TIPC address types
      using Unity
    * Adds error checking for address type misuse

 Makefile.am                 |   7 ++-
 src/socket_base.cpp         |   9 +++
 src/tipc_address.cpp        |  85 +++++++++++++--------------
 src/tipc_listener.cpp       |  17 ++++--
 tests/CMakeLists.txt        |   1 +
 tests/test_address_tipc.cpp | 140 ++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 208 insertions(+), 51 deletions(-)

commit 40c6c1a7c9cd47a68ede3a90dc3260804bf470e5
Merge: 0c6c935 cef9cfa
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Mar 7 15:18:16 2018 +0000

    Merge pull request #2976 from zeromq/revert-2974-static_init_gcc
    
    Revert "Problem: mis-detection of threadsafe_static_init causes test failures"

commit cef9cfa0917f029826843cfe85657714ccec67ee
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Mar 7 15:03:07 2018 +0100

    Revert "Problem: mis-detection of threadsafe_static_init causes test failures"

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

commit 0c6c935726b4b66ddf78616f4258c46fcaf11913
Merge: 677efea 9bd2d3f
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Wed Mar 7 07:51:38 2018 +0100

    Merge pull request #2974 from bluca/static_init_gcc
    
    Problem: mis-detection of threadsafe_static_init causes test failures

commit 9bd2d3f9374edc0dec11c08dd663a0879b370e20
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Mar 6 23:10:15 2018 +0000

    Problem: mis-detection of threadsafe_static_init causes test failures
    
    Solution: do not rely __cplusplus >= 201103L to detect whether the
    compiler supports thread safe static initialisation, but check only
    the proper feature preprocessor macro.
    GCC introduced it in version 8, and Clang in version 6.

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

commit 677efea238cc2c73e024ed231ccffe0d4b52c47d
Merge: ec58ba0 e0b1992
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Mar 6 22:55:07 2018 +0100

    Merge pull request #2973 from bluca/deb7
    
    Problem: build broken with gcc-4.7

commit e0b1992dd7a3501ef9234034f8bded58eae0dd53
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Mar 6 20:27:16 2018 +0000

    Problem: build broken with gcc-4.7
    
    Solution: initialise variable in options.cpp to dummy value to fix
    compiler complaint:
    
     src/options.cpp: In function
      'int zmq::do_setsockopt_int_as_bool_strict(const void*, size_t, bool*)':
     src/options.cpp:121:5: error: 'value' may be used uninitialized in
      this function [-Werror=maybe-uninitialized]
     src/options.cpp: In function
      'int zmq::do_setsockopt_int_as_bool_relaxed(const void*, size_t, bool*)':
     src/options.cpp:135:31: error: 'value' may be used uninitialized in
      this function [-Werror=maybe-uninitialized]

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

commit ec58ba04f32e24c897be7e6d4a33a9ad34157009
Merge: 10d2b28 6f967c3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Mar 6 20:08:46 2018 +0000

    Merge pull request #2972 from sigiesec/reduce-sockopt-code-duplication
    
    Problem: code duplication in getsockopt/setsockopt

commit 6f967c3a13a1e02359768e9b6e8cc7a6f7debf8e
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Mar 6 11:16:22 2018 +0100

    Problem: code duplication in getsockopt/setsockopt
    
    Solution: extracted common code into do_getsockopt/do_setsockopt functions

 src/options.cpp     | 412 +++++++++++++++++++++++++++-------------------------
 src/options.hpp     |  31 ++++
 src/router.cpp      |   2 +
 src/socket_base.cpp |  57 ++------
 src/stream.cpp      |  13 +-
 src/sub.cpp         |   5 +-
 6 files changed, 264 insertions(+), 256 deletions(-)

commit 10d2b2885e239730c14bc8d5bfeb5e48486aebe4
Merge: 494c2a7 8cdfc8b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Mar 6 09:18:52 2018 +0000

    Merge pull request #2971 from ZMQers/fix-static-init
    
    Problem: static initialization order fiasco

commit 494c2a71f8066adfeb4860311eca5cbe2aa4effb
Merge: 4ea1e78 c36d8cb
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Tue Mar 6 00:18:17 2018 +0100

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

commit c36d8cb8e42ce8e95d46384bb48184d717b588a0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 5 22:45:00 2018 +0000

    Problem: PR template does not mention clang-format
    
    Solution: add paragraph explaining how to run it to make sure code is
    correctly formatted.

 .github/PULL_REQUEST_TEMPLATE.md | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 541ca30d8e6b0e94cc420d4220187b048ca91f99
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 5 22:41:11 2018 +0000

    Problem: make clang-format still shows error in the CI
    
    Solution: run make clang-format-diff and commit the changes.

 src/generic_mtrie_impl.hpp | 2 +-
 src/ip.cpp                 | 6 +++---
 src/socket_base.cpp        | 8 ++++----
 src/tcp_connecter.cpp      | 4 ++--
 src/zmq.cpp                | 2 +-
 5 files changed, 11 insertions(+), 11 deletions(-)

commit 4ea1e78d9d06255db275723bd71501eff6d265ca
Merge: 3658b2b fcbd2a5
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Mar 5 17:40:33 2018 +0000

    Merge pull request #2969 from skaes/master
    
    Problem: enormous memory increase due to zero copy decoding

commit fcbd2a5710b317e81a544b07b3091d1de923bbb4
Author: Stefan Kaes <stefan.kaes@xing.com>
Date:   Mon Mar 5 13:19:20 2018 +0100

    Problem: enormous memory increase due to zero copy decoding
    
    The zero copy decoding strategy implemented for 4.2.0 can lead to a large
    increase of main memory usage in some cases (I have seen one program go up to
    40G from 10G after upgrading from 4.1.4). This commit adds a new option to
    contexts, called ZMQ_ZERO_COPY_RECV, which allows one to switch to the old
    decoding strategy.

 doc/zmq_ctx_get.txt        |  6 ++++++
 doc/zmq_ctx_set.txt        | 12 +++++++++++
 include/zmq.h              |  1 +
 src/ctx.cpp                | 10 +++++++--
 src/ctx.hpp                |  3 +++
 src/norm_engine.cpp        | 10 +++++----
 src/norm_engine.hpp        |  5 ++++-
 src/options.cpp            |  3 ++-
 src/options.hpp            |  3 +++
 src/socket_base.cpp        |  1 +
 src/stream_engine.cpp      |  8 ++++----
 src/v2_decoder.cpp         | 10 ++++++---
 src/v2_decoder.hpp         |  3 ++-
 src/zmq_draft.h            |  1 +
 tests/test_ctx_options.cpp | 51 ++++++++++++++++++++++++++++++++++++++++++++++
 tests/testutil.hpp         |  2 +-
 16 files changed, 112 insertions(+), 17 deletions(-)

commit 3658b2b580c9e8b84058df11cdc1bfd68a5eec14
Author: Ryan Hileman <lunixbochs@gmail.com>
Date:   Mon Mar 5 08:36:10 2018 -0800

    Problem: pthread condvar timeouts are broken (#2967)
    
    * fix pthread condvar timeouts
    
    This fixes a race condition / hang for threadsafe sockets.
    Context: https://github.com/zeromq/czmq/issues/1873#issuecomment-370279244

 src/condition_variable.hpp | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

commit 8cdfc8b9dd9a4b51b053584d86c0597577c288c0
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon Mar 5 15:29:36 2018 +0100

    Problem: static initialization order fiasco
    
    Solution: use local statics when available in a thread-safe implementation

 src/random.cpp | 77 ++++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 56 insertions(+), 21 deletions(-)

commit d54633add13e359d5c0f3d565b8e664ca69a5b76
Merge: 173b54a 23025f4
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 2 19:06:51 2018 +0000

    Merge pull request #2964 from bluca/fix_mtrie_32bit
    
    Problem: unittest_mtrie fails on 32bit *nix

commit 23025f44c60a0e74d23784d61204647b52a4a57e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 2 18:00:17 2018 +0000

    Problem: unittest_mtrie fails on 32bit *nix
    
    Solution: correctly dereference pointer in test.

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

commit 173b54a8c930f606c0f01b0830f911099e5840a7
Merge: 31387f8 9cd01bb
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Mar 2 17:41:06 2018 +0000

    Merge pull request #2950 from zeromq/add-unittests-mtrie
    
    Problem: no unit tests for mtrie

commit 9cd01bb54fa450445806360075c441a826f7f4a9
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Mar 2 11:23:46 2018 +0100

    Problem: inconsistent return values from mtrie_t::rm
    
    Solution: Return an enum from rm instead of a bool, and adapt existing uses

 src/generic_mtrie.hpp        | 22 +++++++++++++---------
 src/generic_mtrie_impl.hpp   | 38 +++++++++++++++-----------------------
 src/xpub.cpp                 | 29 +++++++++++++++++------------
 unittests/unittest_mtrie.cpp | 37 ++++++++++++++++++-------------------
 4 files changed, 63 insertions(+), 63 deletions(-)

commit 36cdcc6c1a0cb76658b907a272004396e61ad95c
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Feb 28 15:04:34 2018 +0100

    Problem: docs of mtrie referring to subscriptions and pipes
    
    Solution: generalized terms to entries/values

 src/generic_mtrie.hpp | 37 +++++++++++++++++++------------------
 1 file changed, 19 insertions(+), 18 deletions(-)

commit e34e03d1a6f25ad2ae6dc08417e10269b07fb0f9
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Feb 28 14:52:26 2018 +0100

    Problem: missing test case for addition of duplicate entry
    
    Solution: added test case

 unittests/unittest_mtrie.cpp | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit d57422819aabc1ca7cbfcc64bc1b84292ce81994
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Feb 25 20:29:20 2018 +0000

    Problem: documentation for ZMQ_XPUB_VERBOSE(R) is unclear
    
    Solultion: clarify that notifications for unique subs/unsubs are always
    passed, and these option only affect the behaviour for duplicated ones.

 NEWS                   |  3 +++
 doc/zmq_setsockopt.txt | 20 +++++++++++---------
 2 files changed, 14 insertions(+), 9 deletions(-)

commit 354491ddf2ca4d7623f887371b6d4ed250e08b4b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Feb 25 20:20:44 2018 +0000

    Problem: no test for ZMQ_XPUB_VERBOSE(R)
    
    Solution: add test_xpub_verbose to cover those APIs

 Makefile.am                 |   5 +
 tests/CMakeLists.txt        |   1 +
 tests/test_xpub_verbose.cpp | 499 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 505 insertions(+)

commit 5d5def40b5add44cc835523475a2fc1845f957d3
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Feb 21 12:06:23 2018 +0100

    Problem: casts required due to void* arguments in a C++ class
    
    Solution: introduce a type template argument

 src/generic_mtrie.hpp        | 20 +++++++++++---------
 src/generic_mtrie_impl.hpp   | 17 ++++++++++-------
 src/xpub.cpp                 | 26 ++++++++++++--------------
 src/xpub.hpp                 |  4 ++--
 unittests/unittest_mtrie.cpp | 20 +++++++++-----------
 5 files changed, 44 insertions(+), 43 deletions(-)

commit 15b4f596a815f0e02bc6ad0e2babbef005e875e3
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Feb 21 11:31:56 2018 +0100

    Problem: insufficient unit tests for mtrie
    
    Solution: added further test cases

 unittests/unittest_mtrie.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

commit 5fb0e97ab71a49170c04877debc6cf48db9d3110
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Wed Feb 21 11:31:00 2018 +0100

    Problem: semantic issues
    
    Solution: added some TODO comments, improved existing documentation

 src/generic_mtrie.hpp      | 13 +++++++++----
 src/generic_mtrie_impl.hpp |  8 ++++++++
 2 files changed, 17 insertions(+), 4 deletions(-)

commit 8bb055ece81bae3cce5094cc52be281a7708fe18
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 20 17:39:06 2018 +0100

    Problem: insufficient unit tests for mtrie
    
    Solution: added test case, reduced code duplication in tests

 unittests/unittest_mtrie.cpp | 91 ++++++++++++++++++++++++++++++--------------
 1 file changed, 62 insertions(+), 29 deletions(-)

commit 0e34d13063d0f57aaff6bceb876fdf32fec23420
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Feb 18 19:18:57 2018 +0100

    Problem: insufficient unit tests for mtrie
    
    Solution: added unit test and assertions

 unittests/unittest_mtrie.cpp | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

commit 506f0e5c445fe0a3e191b29a2dc858d363d016ec
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Feb 18 18:59:30 2018 +0100

    Problem: insufficient unit tests for mtrie
    
    Solution: add test case

 unittests/unittest_mtrie.cpp | 50 +++++++++++++++++++++++++++++++-------------
 1 file changed, 35 insertions(+), 15 deletions(-)

commit 56d806a9efaf58ca6aa04f528ae15029bd6c1f87
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Feb 18 18:33:38 2018 +0100

    Problem: infufficient unit tests for mtrie
    
    Solution: added some test cases for rm

 unittests/unittest_mtrie.cpp | 124 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 124 insertions(+)

commit b42a59a839bf2528d538eda78158f0da787755e7
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Feb 16 13:21:50 2018 +0100

    Problem: insufficient unit tests for mtrie
    
    Solution: added test case

 unittests/unittest_mtrie.cpp | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

commit 96fb17cb55eb40e52664529f2639f5bf4afcd865
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Feb 16 12:43:02 2018 +0100

    Problem: unittests not recognized by code coverage measurement
    
    Solution: add CODE_COVERAGE_*FLAGS to unit tests build
    
    Fixes #2949

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  129 ++
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1282 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        | 1005 +++++++++
 NEWS                                               | 1585 +++++++++++++
 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      |  301 +++
 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/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                                        |   70 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  844 +++++++
 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                                  |   56 +
 doc/zmq_connect.txt                                |  101 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  105 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  184 ++
 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                               |   81 +
 doc/zmq_msg_init.txt                               |   64 +
 doc/zmq_msg_init_data.txt                          |   89 +
 doc/zmq_msg_init_size.txt                          |   58 +
 doc/zmq_msg_more.txt                               |   65 +
 doc/zmq_msg_move.txt                               |   52 +
 doc/zmq_msg_recv.txt                               |  124 ++
 doc/zmq_msg_routing_id.txt                         |   61 +
 doc/zmq_msg_send.txt                               |  127 ++
 doc/zmq_msg_set.txt                                |   46 +
 doc/zmq_msg_set_routing_id.txt                     |   46 +
 doc/zmq_msg_size.txt                               |   48 +
 doc/zmq_null.txt                                   |   27 +
 doc/zmq_pgm.txt                                    |  164 ++
 doc/zmq_plain.txt                                  |   37 +
 doc/zmq_poll.txt                                   |  135 ++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  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                             | 1318 +++++++++++
 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                                      |  732 ++++++
 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                                    |  129 ++
 src/address.hpp                                    |   81 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  301 +++
 src/blob.hpp                                       |  186 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  258 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  250 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  696 ++++++
 src/ctx.hpp                                        |  263 +++
 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                              |  104 +
 src/generic_mtrie_impl.hpp                         |  450 ++++
 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                                         |  611 ++++++
 src/ip.hpp                                         |   72 +
 src/ipc_address.cpp                                |  107 +
 src/ipc_address.hpp                                |   68 +
 src/ipc_connecter.cpp                              |  275 +++
 src/ipc_connecter.hpp                              |  135 ++
 src/ipc_listener.cpp                               |  434 ++++
 src/ipc_listener.hpp                               |  118 +
 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                                  |  329 +++
 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                                      |  177 ++
 src/norm_engine.cpp                                |  714 ++++++
 src/norm_engine.hpp                                |  185 ++
 src/null_mechanism.cpp                             |  213 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1100 ++++++++++
 src/options.hpp                                    |  257 +++
 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                                     |  119 +
 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                                     |  548 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  616 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  710 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  382 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1778 +++++++++++++++
 src/socket_base.hpp                                |  304 +++
 src/socket_poller.cpp                              |  683 ++++++
 src/socket_poller.hpp                              |  146 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  466 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  319 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1095 +++++++++
 src/stream_engine.hpp                              |  238 ++
 src/sub.cpp                                        |   87 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  358 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  904 ++++++++
 src/tcp_address.hpp                                |  121 +
 src/tcp_connecter.cpp                              |  425 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  366 +++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  266 +++
 src/thread.hpp                                     |  110 +
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  180 ++
 src/tipc_address.hpp                               |   76 +
 src/tipc_connecter.cpp                             |  271 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  207 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  988 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  170 ++
 src/udp_address.hpp                                |   77 +
 src/udp_engine.cpp                                 |  391 ++++
 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                                 |  162 ++
 src/v2_decoder.hpp                                 |   72 +
 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                                       |  320 +++
 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                                        | 1506 +++++++++++++
 src/zmq_draft.h                                    |  189 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  233 ++
 tests/README.md                                    |   28 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   97 +
 tests/test_bind_src_address.cpp                    |   57 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  106 +
 tests/test_conflate.cpp                            |   86 +
 tests/test_connect_delay_tipc.cpp                  |  238 ++
 tests/test_connect_resolve.cpp                     |   70 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  110 +
 tests/test_ctx_options.cpp                         |  211 ++
 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                                 |  321 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  250 +++
 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                       |   65 +
 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                           |   62 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  413 ++++
 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                          |  192 ++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  149 ++
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  146 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  336 +++
 tests/test_reqrep_tipc.cpp                         |   61 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  117 +
 tests/test_router_mandatory.cpp                    |  292 +++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   71 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  370 ++++
 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                |   93 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  209 ++
 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                    |  102 +
 tests/test_system.cpp                              |  101 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  120 +
 tests/test_thread_safe.cpp                         |   90 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_udp.cpp                                 |  134 ++
 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_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  401 ++++
 tests/testutil_security.hpp                        |  684 ++++++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   65 +
 unittests/unittest_mtrie.cpp                       |  160 ++
 unittests/unittest_poller.cpp                      |  222 ++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 798 files changed, 115123 insertions(+)

commit 31387f84e4ea4567e3504ce8bafb217546b40ac3
Merge: b575b05 1e03f7b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Feb 27 11:00:49 2018 +0000

    Merge pull request #2960 from Romain-Geissler-1A/fix-gcc-8-build
    
    Fix gcc 8 build warning/error with -O3.

commit 1e03f7b2d486bb4bcedc897df7048b92f850a892
Author: Romain Geissler <romain.geissler@amadeus.com>
Date:   Tue Feb 27 10:12:22 2018 +0100

    Fix gcc 8 build warning/error with -O3.

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

commit b575b05d2c79157a4a6933e790b95f2af7706808
Merge: 4c7c9b8 78aa9b1
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 19 17:24:24 2018 +0000

    Merge pull request #2951 from eponsko/master
    
    Problem: No support for addressing using TIPC Port Identity

commit 78aa9b19837ce91da6fde0ebfa6ee967c96d249a
Author: Pontus Sköldström <pontus.skoldstrom@ri.se>
Date:   Mon Feb 19 17:34:40 2018 +0100

    Support addressing TIPC Port Identity
    
    ZeroMQ currently supports location independent addressing using TIPC
    Port Names with tipc://{type,instance}. This commits adds support for
    connecting and binding using TIPC Port Identity addresses. To connect
    using Port Identities the expected format is tipc://<Z.C.N:Ref>, e.g.
    "tipc://<1.2.3:123123>". To bind using TIPC Port Identities the expected
    format is "tipc://<*>".

 src/tipc_address.cpp   | 69 +++++++++++++++++++++++++++++++++++++++++++++-----
 src/tipc_address.hpp   |  6 +++++
 src/tipc_connecter.cpp |  5 ++++
 src/tipc_listener.cpp  | 23 ++++++++++++++---
 4 files changed, 93 insertions(+), 10 deletions(-)

commit 4c7c9b87bf18b2561e65305dabe5a9bc97624ae1
Merge: 2700c15 5224b87
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Feb 14 18:19:44 2018 +0000

    Merge pull request #2947 from sigiesec/fix-unittest-poller-race
    
    Problem: race condition in unittest_poller

commit 2700c15d67d15abff918ee88d21ffc626496c516
Merge: 487c275 ef7cb96
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Feb 14 15:10:56 2018 +0000

    Merge pull request #2946 from hartcw/master
    
    Minor fixes for windows cmake build

commit ef7cb9678299053e6ae1732e70c375d96cd2d0a8
Author: Francis Hart <francis@kuvacode.com>
Date:   Wed Feb 14 15:00:21 2018 +0200

    Fix cmake install error when BUILD_SHARED is off
    
    This fixes an error with the cmake install configuration, which
    attempted an invalid copy of a .pdb file on windows, when the
    BUILD_SHARED option is disabled.

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

commit d470475272ac518dc3f97baf4dfa317d6245eed0
Author: Francis Hart <francis@kuvacode.com>
Date:   Wed Feb 14 14:58:58 2018 +0200

    Add cmake build option for disabling tests
    
    This adds a new cmake build option called BUILD_TESTS, that can be used
    to enable/disable building of the tests. This is enabled by default.

 CMakeLists.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit dee0213108d94f0ea7b5ee1b85fe24e9f4274190
Author: Francis Hart <francis@kuvacode.com>
Date:   Wed Nov 16 17:28:18 2016 +0200

    Ensure correct cmake target suffix for all builds
    
    This updates the cmake set_target_properperties usage, so that the suffix
    is specified for the MinSizeRel build type.

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

commit 5224b8704a39c56bf063698ac2adb70755dc2e05
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 22:24:38 2018 -0500

    Problem: race condition in unit test
    
    Solution: fix order of statements in test_events_t

 unittests/unittest_poller.cpp | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 487c275809cc46a095efef7daad079b4c487aba0
Merge: bc467f0 e10464e
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Feb 13 22:29:38 2018 +0000

    Merge pull request #2945 from kachanovskiy/master
    
    Fix build break when SIO_LOOPBACK_FAST_PATH is not defined (i.e. in VS2010)

commit e10464e45ef6a0afbf168c739ebcb8eed794f289
Author: Kachanovskiy <sergey.kachanovskiy@gmx.de>
Date:   Tue Feb 13 23:04:08 2018 +0100

    Fix for build break when SIO_LOOPBACK_FAST_PATH is not defined (i.e. in VS2010)

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

commit bc467f063113f113439e56c701b599198cd98bf9
Merge: e57afec 94743fd
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Feb 13 19:05:51 2018 +0000

    Merge pull request #2944 from sigiesec/unity
    
    Problem: insufficient unit tests for poller concept and ypipe

commit 94743fd21f378027241d80eb7594781301c18aa6
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 18:01:27 2018 +0100

    Problem: wrong formatting in several files
    
    Solution: apply clang-format

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

commit 90c6d993bedce4edd1ccafdcb0835ccf261f50a9
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 16:17:08 2018 +0100

    Problem: kqueue_t fails unittest_poller
    
    Solution: fix shutdown of kqueue_t

 src/kqueue.cpp | 33 ++++++++++++++++++---------------
 src/kqueue.hpp | 15 +--------------
 2 files changed, 19 insertions(+), 29 deletions(-)

commit 3b90ad8c63e72b51a6764374d9b4609ae90c24d8
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 15:50:57 2018 +0100

    Problem: support of std::atomic is incomplete in VS <2015
    
    Solution: use std::atomic only from VS 2015

 src/atomic_counter.hpp | 2 +-
 src/atomic_ptr.hpp     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 9aa957b445d2cb53e5218cf7d4afdf7b521bdb2a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 10:42:02 2018 +0100

    Problem: appveyor builds fails if they are not the most recent commit
    
    Solution: use shallow_clone option instead of clone_depth

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

commit 815c7db06be5f8d4eb67a6f4640b4fb69d6369da
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 10:40:54 2018 +0100

    Problem: poll build runs as last appveyor build
    
    Solution: change order of appveyor build jobs to enable faster feedback
    on more diverse builds

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

commit 0458b85dec17acf0a079afef69dc4e44aaa141e5
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 10:08:57 2018 +0100

    Problem: Some tests timeout on appveyor for POLLER=poll
    
    Solution: Increase test timeouts for poll poller under Windows

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

commit 96131b5b4e9d706f925e67b3e311dadffe66a81d
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 09:58:24 2018 +0100

    Problem: no documentation of the poller concept
    
    Solution: added documentation

 src/poller_base.hpp | 101 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 90 insertions(+), 11 deletions(-)

commit fafea72b928eebfa618f7682737c57aca98e2997
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Tue Feb 13 08:56:13 2018 +0100

    Problem: header files not included in VS project files
    
    Solution: add to list of sources

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  129 ++
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1276 +++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        |  990 +++++++++
 NEWS                                               | 1585 +++++++++++++
 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      |  301 +++
 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/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                                        |   70 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  844 +++++++
 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                                  |   56 +
 doc/zmq_connect.txt                                |  101 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  105 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  184 ++
 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                               |   81 +
 doc/zmq_msg_init.txt                               |   64 +
 doc/zmq_msg_init_data.txt                          |   89 +
 doc/zmq_msg_init_size.txt                          |   58 +
 doc/zmq_msg_more.txt                               |   65 +
 doc/zmq_msg_move.txt                               |   52 +
 doc/zmq_msg_recv.txt                               |  124 ++
 doc/zmq_msg_routing_id.txt                         |   61 +
 doc/zmq_msg_send.txt                               |  127 ++
 doc/zmq_msg_set.txt                                |   46 +
 doc/zmq_msg_set_routing_id.txt                     |   46 +
 doc/zmq_msg_size.txt                               |   48 +
 doc/zmq_null.txt                                   |   27 +
 doc/zmq_pgm.txt                                    |  164 ++
 doc/zmq_plain.txt                                  |   37 +
 doc/zmq_poll.txt                                   |  135 ++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  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                             | 1318 +++++++++++
 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                                      |  732 ++++++
 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                                    |  129 ++
 src/address.hpp                                    |   81 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  301 +++
 src/blob.hpp                                       |  186 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  258 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  250 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  696 ++++++
 src/ctx.hpp                                        |  263 +++
 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/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                                         |  611 ++++++
 src/ip.hpp                                         |   72 +
 src/ipc_address.cpp                                |  107 +
 src/ipc_address.hpp                                |   68 +
 src/ipc_connecter.cpp                              |  275 +++
 src/ipc_connecter.hpp                              |  135 ++
 src/ipc_listener.cpp                               |  434 ++++
 src/ipc_listener.hpp                               |  118 +
 src/kqueue.cpp                                     |  227 ++
 src/kqueue.hpp                                     |  123 ++
 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                                  |  329 +++
 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                                      |  422 ++++
 src/mtrie.hpp                                      |  103 +
 src/mutex.hpp                                      |  177 ++
 src/norm_engine.cpp                                |  714 ++++++
 src/norm_engine.hpp                                |  185 ++
 src/null_mechanism.cpp                             |  213 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1100 ++++++++++
 src/options.hpp                                    |  257 +++
 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                                |  117 +
 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                                     |  119 +
 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                                     |  548 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  616 ++++++
 src/select.hpp                                     |  173 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  710 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  382 ++++
 src/signaler.hpp                                   |   89 +
 src/socket_base.cpp                                | 1778 +++++++++++++++
 src/socket_base.hpp                                |  304 +++
 src/socket_poller.cpp                              |  683 ++++++
 src/socket_poller.hpp                              |  146 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  466 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  319 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1095 +++++++++
 src/stream_engine.hpp                              |  238 ++
 src/sub.cpp                                        |   87 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  358 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  904 ++++++++
 src/tcp_address.hpp                                |  121 +
 src/tcp_connecter.cpp                              |  425 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  366 +++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  266 +++
 src/thread.hpp                                     |  110 +
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  123 ++
 src/tipc_address.hpp                               |   70 +
 src/tipc_connecter.cpp                             |  266 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  192 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  988 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  170 ++
 src/udp_address.hpp                                |   77 +
 src/udp_engine.cpp                                 |  391 ++++
 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                                 |  162 ++
 src/v2_decoder.hpp                                 |   72 +
 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                                       |  320 +++
 src/xpub.hpp                                       |  121 +
 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                                        | 1506 +++++++++++++
 src/zmq_draft.h                                    |  189 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  228 ++
 tests/README.md                                    |   28 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   97 +
 tests/test_bind_src_address.cpp                    |   57 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  106 +
 tests/test_conflate.cpp                            |   86 +
 tests/test_connect_delay_tipc.cpp                  |  238 ++
 tests/test_connect_resolve.cpp                     |   70 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  110 +
 tests/test_ctx_options.cpp                         |  211 ++
 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                                 |  321 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  250 +++
 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                       |   65 +
 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                           |   62 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  413 ++++
 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                          |  192 ++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  149 ++
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  146 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  336 +++
 tests/test_reqrep_tipc.cpp                         |   61 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  117 +
 tests/test_router_mandatory.cpp                    |  292 +++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   71 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  690 ++++++
 tests/test_security_gssapi.cpp                     |  370 ++++
 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                |   93 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  209 ++
 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                    |  102 +
 tests/test_system.cpp                              |  101 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  120 +
 tests/test_thread_safe.cpp                         |   90 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_udp.cpp                                 |  134 ++
 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_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  401 ++++
 tests/testutil_security.hpp                        |  684 ++++++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   64 +
 unittests/unittest_poller.cpp                      |  218 ++
 unittests/unittest_ypipe.cpp                       |   87 +
 version.sh                                         |   21 +
 795 files changed, 114661 insertions(+)

commit e57afec80efc652ce563c4362534ac943267a503
Merge: a30133d c62574f
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 12 16:09:08 2018 +0000

    Merge pull request #2943 from sigiesec/fix-select-unix
    
    Problem: data races in select/poll poller implementations

commit c62574ffca7a7ec6c0196552c344fd9df92377a9
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Feb 9 20:36:41 2018 -0500

    Problem: segfault in select_t::trigger_events
    
    Solution: fixed access to stale vector

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

commit 11a53886370dd16a9623dbb225adab5c4336a95b
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon Feb 12 13:51:52 2018 +0100

    Problem: data race w.r.t. select_t::stopping
    
    Solution: change termination condition of select_t

 src/select.cpp | 109 ++++++++++++++++++++++++++++++---------------------------
 src/select.hpp |  21 +++--------
 2 files changed, 62 insertions(+), 68 deletions(-)

commit e650240580d9d7ecb8fda0505eb8cdcf0a1c8350
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Mon Feb 12 13:14:26 2018 +0100

    Problem: data race w.r.t. poll_t::stopping
    
    Solution: remove stopping, stop on thread-safe conditions; add
    additional checks for correct thread-safe usage

 src/poll.cpp        | 35 ++++++++++++++++++-----------------
 src/poll.hpp        | 20 ++++----------------
 src/poller_base.cpp | 28 ++++++++++++++++++++++++++++
 src/poller_base.hpp | 27 +++++++++++++++++++++++++++
 src/thread.cpp      | 15 +++++++++++++++
 src/thread.hpp      |  7 +++++++
 6 files changed, 99 insertions(+), 33 deletions(-)

commit 08201bc1b941f1e2cbd1767f652335ae84930401
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Fri Feb 9 16:14:42 2018 -0500

    Problem: select blocks forever under Unix
    
    Solution: fixed call of select, and initialization of poll_t members

 src/select.cpp | 14 +++++++-------
 src/select.hpp |  5 -----
 2 files changed, 7 insertions(+), 12 deletions(-)

commit a30133d8f5e731e0cf5f635371a48ad4ea494a9d
Merge: d0e01b4 9ec95f9
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 12 11:01:08 2018 +0000

    Merge pull request #2935 from ZMQers/unity-base
    
    Problem: no test framework, no unit tests

commit d0e01b4bb25600dd3552660e25755466433b5ba1
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Feb 12 08:01:03 2018 +0000

    Problem: regression with "select" on *nix (#2940)
    
    * Problem: build failure with select as polling mechanism
    
    Solution: cast mailbox_handle argument to (poller_t::handle_t) like in
    the reaper thread class.
    
    * Problem: build failure due to INT_MAX use without include
    
    Solution: include limits and climits in src/select.cpp where INT_MAX is
    used
    
    * Problem: build failure due to unused variable in select.cpp
    
    Solution: move the declaration of int rc inside the ifdef block where
    it is actually used
    
    * Problem: reference to wrong variable in select.cpp breaks build
    
    Solution: fix it
    
    * Problem: family_entry_t constructor has no body, build fails on *nix
    
    Solution: add empty inline function in the struct
    
    * Problem: no test coverage for poll and select
    
    Solution: add Travis jobs for them on Linux
    
    * Problem: Travis jobs cannot run in container infra
    
    Solution: set sudo: false as it is not required anymore

 .travis.yml       | 6 +++++-
 ci_build.sh       | 4 ++++
 src/io_thread.cpp | 2 +-
 src/select.cpp    | 7 ++++---
 src/select.hpp    | 4 ++++
 5 files changed, 18 insertions(+), 5 deletions(-)

commit 9ec95f9d4666eadc9db1922a85d6a2bc5c397c35
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Feb 11 14:33:48 2018 +0100

    Problem: build failure with VS <2015, has no snprintf
    
    Solution: use _snprintf when snprintf is not available

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

commit 29e304ea5c2309ebd44ded3cdf83aa0bc35e50ba
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Feb 11 11:59:24 2018 +0000

    Problem: unity license not mentioned in debian/copyright
    
    Solution: add it

 packaging/debian/copyright | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

commit 1478fd0022a034e3b286a3cf38afe5e8b122e1ae
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Feb 10 19:18:33 2018 +0000

    Problem: unittests not built with autotools
    
    Solution: add them to Makefile.am, linking to the static libzmq.a
    library and its dependencies

 Makefile.am  | 26 +++++++++++++++++++++++++-
 configure.ac |  3 +++
 2 files changed, 28 insertions(+), 1 deletion(-)

commit f6f67cbf96e09bd822751f92d728586d865e936f
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Feb 10 18:51:51 2018 +0000

    Problem: no autotools support for building with unity
    
    Solution: add a noinst convenience static library and use it with the
    tests that require it

 Makefile.am | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

commit 7ea924c76314d86d3191889b04477805b84f1005
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Feb 8 19:12:28 2018 +0100

    Problem: segfault on thread_t::stop if thread was never started
    
    Solution: add started flag

 src/thread.cpp | 18 ++++++++++++------
 src/thread.hpp |  3 +++
 2 files changed, 15 insertions(+), 6 deletions(-)

commit 56c726d42566a2970e1778f6ecfa2c4be9db38a7
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Thu Feb 8 17:48:15 2018 +0100

    Problem: no unit tests
    
    Solution: set up initial unit tests

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  125 ++
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1147 ++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        |  958 ++++++++
 NEWS                                               | 1585 +++++++++++++
 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      |  301 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   48 +
 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/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                                        |   66 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  841 +++++++
 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                                  |   56 +
 doc/zmq_connect.txt                                |  101 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  105 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  184 ++
 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                               |   81 +
 doc/zmq_msg_init.txt                               |   64 +
 doc/zmq_msg_init_data.txt                          |   89 +
 doc/zmq_msg_init_size.txt                          |   58 +
 doc/zmq_msg_more.txt                               |   65 +
 doc/zmq_msg_move.txt                               |   52 +
 doc/zmq_msg_recv.txt                               |  124 ++
 doc/zmq_msg_routing_id.txt                         |   61 +
 doc/zmq_msg_send.txt                               |  127 ++
 doc/zmq_msg_set.txt                                |   46 +
 doc/zmq_msg_set_routing_id.txt                     |   46 +
 doc/zmq_msg_size.txt                               |   48 +
 doc/zmq_null.txt                                   |   27 +
 doc/zmq_pgm.txt                                    |  164 ++
 doc/zmq_plain.txt                                  |   37 +
 doc/zmq_poll.txt                                   |  135 ++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  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                             | 1318 +++++++++++
 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                                      |  732 ++++++
 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                         |   93 +
 packaging/debian/libzmq3-dev.install               |    4 +
 packaging/debian/libzmq3-dev.manpages              |    2 +
 packaging/debian/libzmq5.docs                      |    2 +
 packaging/debian/libzmq5.install                   |    1 +
 packaging/debian/rules                             |   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                                    |  129 ++
 src/address.hpp                                    |   81 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  301 +++
 src/blob.hpp                                       |  186 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  258 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  250 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  696 ++++++
 src/ctx.hpp                                        |  263 +++
 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                                      |  207 ++
 src/epoll.hpp                                      |  115 +
 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/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                                  |  119 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  231 ++
 src/ip.hpp                                         |   62 +
 src/ipc_address.cpp                                |  107 +
 src/ipc_address.hpp                                |   68 +
 src/ipc_connecter.cpp                              |  275 +++
 src/ipc_connecter.hpp                              |  135 ++
 src/ipc_listener.cpp                               |  434 ++++
 src/ipc_listener.hpp                               |  118 +
 src/kqueue.cpp                                     |  227 ++
 src/kqueue.hpp                                     |  123 ++
 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                                  |  329 +++
 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                                      |  422 ++++
 src/mtrie.hpp                                      |  103 +
 src/mutex.hpp                                      |  177 ++
 src/norm_engine.cpp                                |  714 ++++++
 src/norm_engine.hpp                                |  185 ++
 src/null_mechanism.cpp                             |  213 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1100 ++++++++++
 src/options.hpp                                    |  257 +++
 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                                       |  208 ++
 src/poll.hpp                                       |  119 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  108 +
 src/poller_base.hpp                                |   90 +
 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                                     |  119 +
 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                                     |  548 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  607 +++++
 src/select.hpp                                     |  187 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  710 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  696 ++++++
 src/signaler.hpp                                   |   93 +
 src/socket_base.cpp                                | 1778 +++++++++++++++
 src/socket_base.hpp                                |  304 +++
 src/socket_poller.cpp                              |  683 ++++++
 src/socket_poller.hpp                              |  146 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  466 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  319 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1095 +++++++++
 src/stream_engine.hpp                              |  238 ++
 src/sub.cpp                                        |   87 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  358 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  904 ++++++++
 src/tcp_address.hpp                                |  121 +
 src/tcp_connecter.cpp                              |  425 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  366 +++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  245 +++
 src/thread.hpp                                     |  100 +
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  123 ++
 src/tipc_address.hpp                               |   70 +
 src/tipc_connecter.cpp                             |  266 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  192 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  988 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  170 ++
 src/udp_address.hpp                                |   77 +
 src/udp_engine.cpp                                 |  391 ++++
 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                                 |  162 ++
 src/v2_decoder.hpp                                 |   72 +
 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                                       |  320 +++
 src/xpub.hpp                                       |  121 +
 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                                        | 1546 +++++++++++++
 src/zmq_draft.h                                    |  189 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  228 ++
 tests/README.md                                    |   28 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   97 +
 tests/test_bind_src_address.cpp                    |   57 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  106 +
 tests/test_conflate.cpp                            |   86 +
 tests/test_connect_delay_tipc.cpp                  |  238 ++
 tests/test_connect_resolve.cpp                     |   70 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  110 +
 tests/test_ctx_options.cpp                         |  211 ++
 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                                 |  321 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  250 +++
 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                       |   65 +
 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                           |   62 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  413 ++++
 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                          |  192 ++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  149 ++
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  146 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  336 +++
 tests/test_reqrep_tipc.cpp                         |   61 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  117 +
 tests/test_router_mandatory.cpp                    |  292 +++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   71 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  686 ++++++
 tests/test_security_gssapi.cpp                     |  370 ++++
 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                |   93 +
 tests/test_socket_null.cpp                         |  146 ++
 tests/test_sockopt_hwm.cpp                         |  193 ++
 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                    |  102 +
 tests/test_system.cpp                              |  101 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  120 +
 tests/test_thread_safe.cpp                         |   90 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_udp.cpp                                 |  134 ++
 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_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  401 ++++
 tests/testutil_security.hpp                        |  684 ++++++
 tools/curve_keygen.cpp                             |   64 +
 unittests/CMakeLists.txt                           |   64 +
 unittests/unittest_poller.cpp                      |   47 +
 unittests/unittest_ypipe.cpp                       |   46 +
 version.sh                                         |   21 +
 795 files changed, 114138 insertions(+)

commit afd5d9f721b6de0068c6f86a10d99f1e86eda029
Merge: ac777ba 5873894
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Feb 11 17:06:36 2018 +0000

    Merge pull request #2939 from sigiesec/fix-poll-timer-event-retiring
    
    Fixed a deadlock and an assertion failure in poll_t

commit 5873894c8364332f89902e5e39f0bde2c22bef1e
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Feb 11 12:19:20 2018 +0100

    Problem: wrong assertion macro used on Windows
    
    Solution: use wsa_assert instead of errno_assert

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

commit 2f27bcd74bcd335f8dac4eb97b7c92e1d2309c9d
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Feb 11 13:45:40 2018 +0100

    Problem: assertion failure in poll_t::poll if timer_event retired a
    pollset entry
    
    Solution: clean up retired entries before poll

 src/poll.cpp | 27 ++++++++++++++++-----------
 src/poll.hpp |  2 ++
 2 files changed, 18 insertions(+), 11 deletions(-)

commit a2af3d18cc81a13ae894d9068cf0c20192bb132a
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sun Feb 11 13:15:37 2018 +0100

    Problem: unittest_poller fails for poll_t
    
    Solution: fixed behaviour in corner cases

 src/poll.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

commit ac777bad946d2082606ed4abdedcce89256340f3
Merge: 504e6d0 d832267
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Feb 10 15:26:53 2018 -0500

    Merge pull request #2938 from bluca/format_autotools
    
    Problem: make format-check not implemented with autotools

commit 504e6d0ecca596d6dd912503ffbb6a4d9584197a
Merge: c33cb38 9b1ce59
Author: Simon Giesecke <simon.giesecke@btc-ag.com>
Date:   Sat Feb 10 15:25:54 2018 -0500

    Merge pull request #2937 from bluca/gcc_4_build
    
    Problem: DRAFT build broken with GCC 4.7

commit d832267e2367e6377a08501c6a590a63460f6e1d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Feb 10 17:34:01 2018 +0000

    Problem: make format-check not implemented with autotools
    
    Solution: port implementation from zproject

 Makefile.am  | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.ac | 13 +++++++++++++
 2 files changed, 64 insertions(+)

commit 9b1ce597199a22b82dd6579fd61a958c780c58d2
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Feb 10 17:08:01 2018 +0000

    Problem: DRAFT build broken with GCC 4.7
    
    Solution: change variable type in test_timers to match public API

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

commit c33cb38af28612d9d87dcafd16f94178ab635514
Merge: eded1f8 a57f7e3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Feb 9 17:15:47 2018 +0000

    Merge pull request #2928 from eponsko/master
    
    Add support for ZMQ_XPUB_NODROP on ZMQ_RADIO sockets

commit eded1f8b9076e7512be9a929d8562efed93eda37
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Feb 9 17:08:51 2018 +0000

    Merge pull request #2923 from sigiesec/fastpath
    
    Add support for SIO_LOOPBACK_FAST_PATH on Windows

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  125 ++
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1142 ++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        |  907 ++++++++
 NEWS                                               | 1585 +++++++++++++
 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      |  301 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   48 +
 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/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                                        |   66 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  828 +++++++
 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                                  |   56 +
 doc/zmq_connect.txt                                |  101 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  105 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  184 ++
 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                               |   81 +
 doc/zmq_msg_init.txt                               |   64 +
 doc/zmq_msg_init_data.txt                          |   89 +
 doc/zmq_msg_init_size.txt                          |   58 +
 doc/zmq_msg_more.txt                               |   65 +
 doc/zmq_msg_move.txt                               |   52 +
 doc/zmq_msg_recv.txt                               |  124 ++
 doc/zmq_msg_routing_id.txt                         |   61 +
 doc/zmq_msg_send.txt                               |  127 ++
 doc/zmq_msg_set.txt                                |   46 +
 doc/zmq_msg_set_routing_id.txt                     |   46 +
 doc/zmq_msg_size.txt                               |   48 +
 doc/zmq_null.txt                                   |   27 +
 doc/zmq_pgm.txt                                    |  164 ++
 doc/zmq_plain.txt                                  |   37 +
 doc/zmq_poll.txt                                   |  135 ++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  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                             | 1318 +++++++++++
 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 +
 include/zmq.h                                      |  732 ++++++
 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                         |   93 +
 packaging/debian/libzmq3-dev.install               |    4 +
 packaging/debian/libzmq3-dev.manpages              |    2 +
 packaging/debian/libzmq5.docs                      |    2 +
 packaging/debian/libzmq5.install                   |    1 +
 packaging/debian/rules                             |   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                                    |  129 ++
 src/address.hpp                                    |   81 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  301 +++
 src/blob.hpp                                       |  186 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  258 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  250 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  683 ++++++
 src/ctx.hpp                                        |  253 +++
 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                                      |  205 ++
 src/epoll.hpp                                      |  115 +
 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/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                                  |  119 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  231 ++
 src/ip.hpp                                         |   62 +
 src/ipc_address.cpp                                |  107 +
 src/ipc_address.hpp                                |   68 +
 src/ipc_connecter.cpp                              |  275 +++
 src/ipc_connecter.hpp                              |  135 ++
 src/ipc_listener.cpp                               |  434 ++++
 src/ipc_listener.hpp                               |  118 +
 src/kqueue.cpp                                     |  225 ++
 src/kqueue.hpp                                     |  123 ++
 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                                  |  329 +++
 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                                      |  422 ++++
 src/mtrie.hpp                                      |  103 +
 src/mutex.hpp                                      |  177 ++
 src/norm_engine.cpp                                |  714 ++++++
 src/norm_engine.hpp                                |  185 ++
 src/null_mechanism.cpp                             |  213 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1100 ++++++++++
 src/options.hpp                                    |  257 +++
 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                                       |  193 ++
 src/poll.hpp                                       |  117 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  108 +
 src/poller_base.hpp                                |   90 +
 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                                      |  254 +++
 src/radio.hpp                                      |  111 +
 src/random.cpp                                     |  119 +
 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                                     |  548 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  607 +++++
 src/select.hpp                                     |  187 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  710 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  696 ++++++
 src/signaler.hpp                                   |   93 +
 src/socket_base.cpp                                | 1778 +++++++++++++++
 src/socket_base.hpp                                |  304 +++
 src/socket_poller.cpp                              |  683 ++++++
 src/socket_poller.hpp                              |  146 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  466 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  319 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1095 +++++++++
 src/stream_engine.hpp                              |  238 ++
 src/sub.cpp                                        |   87 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  358 +++
 src/tcp.hpp                                        |   73 +
 src/tcp_address.cpp                                |  904 ++++++++
 src/tcp_address.hpp                                |  121 +
 src/tcp_connecter.cpp                              |  425 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  366 +++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  245 +++
 src/thread.hpp                                     |  100 +
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  123 ++
 src/tipc_address.hpp                               |   70 +
 src/tipc_connecter.cpp                             |  266 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  192 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  988 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  170 ++
 src/udp_address.hpp                                |   77 +
 src/udp_engine.cpp                                 |  391 ++++
 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                                 |  162 ++
 src/v2_decoder.hpp                                 |   72 +
 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                                       |  320 +++
 src/xpub.hpp                                       |  121 +
 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                                        | 1546 +++++++++++++
 src/zmq_draft.h                                    |  189 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  218 ++
 tests/README.md                                    |   28 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   97 +
 tests/test_bind_src_address.cpp                    |   57 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  106 +
 tests/test_conflate.cpp                            |   86 +
 tests/test_connect_delay_tipc.cpp                  |  238 ++
 tests/test_connect_resolve.cpp                     |   70 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  110 +
 tests/test_ctx_options.cpp                         |  211 ++
 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                                 |  321 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  250 +++
 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                       |   65 +
 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                           |   62 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  413 ++++
 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                          |  192 ++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  149 ++
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  146 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  336 +++
 tests/test_reqrep_tipc.cpp                         |   61 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  117 +
 tests/test_router_mandatory.cpp                    |  292 +++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   71 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  791 +++++++
 tests/test_security_gssapi.cpp                     |  370 ++++
 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                |   93 +
 tests/test_socket_null.cpp                         |   82 +
 tests/test_sockopt_hwm.cpp                         |  193 ++
 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                    |  102 +
 tests/test_system.cpp                              |  101 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  120 +
 tests/test_thread_safe.cpp                         |   90 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_udp.cpp                                 |  134 ++
 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_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  401 ++++
 tests/testutil_security.hpp                        |  684 ++++++
 tools/curve_keygen.cpp                             |   64 +
 version.sh                                         |   21 +
 787 files changed, 110905 insertions(+)

commit a57f7e3824408b5a76b541c6eaddcda3f588a2a9
Author: Pontus Sköldström <pontus.skoldstrom@ri.se>
Date:   Tue Feb 6 18:36:24 2018 +0100

    Add support for ZMQ_XPUB_NODROP on ZMQ_RADIO sockets
    
    Solves issue #2927

 .clang-format                                      |   53 +
 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +
 .github/issue_template.md                          |   22 +
 .gitignore                                         |  180 ++
 .hgeol                                             |    2 +
 .mailmap                                           |   81 +
 .travis.yml                                        |  125 ++
 AUTHORS                                            |  151 ++
 CMakeLists.txt                                     | 1142 ++++++++++
 COPYING                                            |  674 ++++++
 COPYING.LESSER                                     |  181 ++
 Dockerfile                                         |   11 +
 Doxygen.cfg                                        | 2320 ++++++++++++++++++++
 INSTALL                                            |  311 +++
 Jenkinsfile                                        |  485 ++++
 Makefile.am                                        |  907 ++++++++
 NEWS                                               | 1585 +++++++++++++
 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      |  301 +++
 builds/cmake/NSIS.template32.in                    |  952 ++++++++
 builds/cmake/NSIS.template64.in                    |  960 ++++++++
 builds/cmake/ZeroMQConfig.cmake.in                 |   25 +
 builds/cmake/ci_build.sh                           |   48 +
 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/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                                        |   66 +
 ci_deploy.sh                                       |   34 +
 configure.ac                                       |  828 +++++++
 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                                  |   56 +
 doc/zmq_connect.txt                                |  101 +
 doc/zmq_ctx_destroy.txt                            |   67 +
 doc/zmq_ctx_get.txt                                |  105 +
 doc/zmq_ctx_new.txt                                |   50 +
 doc/zmq_ctx_set.txt                                |  184 ++
 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                               |   81 +
 doc/zmq_msg_init.txt                               |   64 +
 doc/zmq_msg_init_data.txt                          |   89 +
 doc/zmq_msg_init_size.txt                          |   58 +
 doc/zmq_msg_more.txt                               |   65 +
 doc/zmq_msg_move.txt                               |   52 +
 doc/zmq_msg_recv.txt                               |  124 ++
 doc/zmq_msg_routing_id.txt                         |   61 +
 doc/zmq_msg_send.txt                               |  127 ++
 doc/zmq_msg_set.txt                                |   46 +
 doc/zmq_msg_set_routing_id.txt                     |   46 +
 doc/zmq_msg_size.txt                               |   48 +
 doc/zmq_null.txt                                   |   27 +
 doc/zmq_pgm.txt                                    |  164 ++
 doc/zmq_plain.txt                                  |   37 +
 doc/zmq_poll.txt                                   |  135 ++
 doc/zmq_proxy.txt                                  |   99 +
 doc/zmq_proxy_steerable.txt                        |  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                             | 1318 +++++++++++
 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 +
 include/zmq.h                                      |  731 ++++++
 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                         |   93 +
 packaging/debian/libzmq3-dev.install               |    4 +
 packaging/debian/libzmq3-dev.manpages              |    2 +
 packaging/debian/libzmq5.docs                      |    2 +
 packaging/debian/libzmq5.install                   |    1 +
 packaging/debian/rules                             |   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                                    |  129 ++
 src/address.hpp                                    |   81 +
 src/array.hpp                                      |  135 ++
 src/atomic_counter.hpp                             |  235 ++
 src/atomic_ptr.hpp                                 |  301 +++
 src/blob.hpp                                       |  186 ++
 src/client.cpp                                     |  115 +
 src/client.hpp                                     |   75 +
 src/clock.cpp                                      |  258 +++
 src/clock.hpp                                      |   79 +
 src/command.hpp                                    |  204 ++
 src/condition_variable.hpp                         |  250 +++
 src/config.hpp                                     |   96 +
 src/ctx.cpp                                        |  683 ++++++
 src/ctx.hpp                                        |  253 +++
 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                                      |  205 ++
 src/epoll.hpp                                      |  115 +
 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/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                                  |  119 +
 src/io_thread.hpp                                  |   95 +
 src/ip.cpp                                         |  231 ++
 src/ip.hpp                                         |   62 +
 src/ipc_address.cpp                                |  107 +
 src/ipc_address.hpp                                |   68 +
 src/ipc_connecter.cpp                              |  275 +++
 src/ipc_connecter.hpp                              |  135 ++
 src/ipc_listener.cpp                               |  434 ++++
 src/ipc_listener.hpp                               |  118 +
 src/kqueue.cpp                                     |  225 ++
 src/kqueue.hpp                                     |  123 ++
 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                                  |  329 +++
 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                                      |  422 ++++
 src/mtrie.hpp                                      |  103 +
 src/mutex.hpp                                      |  177 ++
 src/norm_engine.cpp                                |  714 ++++++
 src/norm_engine.hpp                                |  185 ++
 src/null_mechanism.cpp                             |  213 ++
 src/null_mechanism.hpp                             |   71 +
 src/object.cpp                                     |  478 ++++
 src/object.hpp                                     |  149 ++
 src/options.cpp                                    | 1085 +++++++++
 src/options.hpp                                    |  254 +++
 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                                       |  193 ++
 src/poll.hpp                                       |  117 +
 src/poller.hpp                                     |   64 +
 src/poller_base.cpp                                |  108 +
 src/poller_base.hpp                                |   90 +
 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                                     |  119 +
 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                                     |  548 +++++
 src/router.hpp                                     |  141 ++
 src/scatter.cpp                                    |   83 +
 src/scatter.hpp                                    |   67 +
 src/select.cpp                                     |  607 +++++
 src/select.hpp                                     |  187 ++
 src/server.cpp                                     |  182 ++
 src/server.hpp                                     |   90 +
 src/session_base.cpp                               |  710 ++++++
 src/session_base.hpp                               |  172 ++
 src/signaler.cpp                                   |  687 ++++++
 src/signaler.hpp                                   |   93 +
 src/socket_base.cpp                                | 1778 +++++++++++++++
 src/socket_base.hpp                                |  304 +++
 src/socket_poller.cpp                              |  683 ++++++
 src/socket_poller.hpp                              |  146 ++
 src/socks.cpp                                      |  290 +++
 src/socks.hpp                                      |  133 ++
 src/socks_connecter.cpp                            |  466 ++++
 src/socks_connecter.hpp                            |  171 ++
 src/stdint.hpp                                     |   77 +
 src/stream.cpp                                     |  319 +++
 src/stream.hpp                                     |  104 +
 src/stream_engine.cpp                              | 1095 +++++++++
 src/stream_engine.hpp                              |  238 ++
 src/sub.cpp                                        |   87 +
 src/sub.hpp                                        |   59 +
 src/tcp.cpp                                        |  334 +++
 src/tcp.hpp                                        |   71 +
 src/tcp_address.cpp                                |  904 ++++++++
 src/tcp_address.hpp                                |  121 +
 src/tcp_connecter.cpp                              |  421 ++++
 src/tcp_connecter.hpp                              |  139 ++
 src/tcp_listener.cpp                               |  362 +++
 src/tcp_listener.hpp                               |   95 +
 src/thread.cpp                                     |  245 +++
 src/thread.hpp                                     |  100 +
 src/timers.cpp                                     |  199 ++
 src/timers.hpp                                     |  109 +
 src/tipc_address.cpp                               |  123 ++
 src/tipc_address.hpp                               |   70 +
 src/tipc_connecter.cpp                             |  266 +++
 src/tipc_connecter.hpp                             |  137 ++
 src/tipc_listener.cpp                              |  192 ++
 src/tipc_listener.hpp                              |  103 +
 src/trie.cpp                                       |  321 +++
 src/trie.hpp                                       |   85 +
 src/tweetnacl.c                                    |  988 +++++++++
 src/tweetnacl.h                                    |   78 +
 src/udp_address.cpp                                |  170 ++
 src/udp_address.hpp                                |   77 +
 src/udp_engine.cpp                                 |  391 ++++
 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                                 |  162 ++
 src/v2_decoder.hpp                                 |   72 +
 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                                       |  320 +++
 src/xpub.hpp                                       |  121 +
 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                                        | 1546 +++++++++++++
 src/zmq_draft.h                                    |  188 ++
 src/zmq_utils.cpp                                  |  321 +++
 tests/CMakeLists.txt                               |  218 ++
 tests/README.md                                    |   28 +
 tests/test_abstract_ipc.cpp                        |   67 +
 tests/test_ancillaries.cpp                         |   50 +
 tests/test_atomics.cpp                             |   48 +
 tests/test_base85.cpp                              |  164 ++
 tests/test_bind_after_connect_tcp.cpp              |   97 +
 tests/test_bind_src_address.cpp                    |   57 +
 tests/test_capabilities.cpp                        |   82 +
 tests/test_client_server.cpp                       |  106 +
 tests/test_conflate.cpp                            |   86 +
 tests/test_connect_delay_tipc.cpp                  |  238 ++
 tests/test_connect_resolve.cpp                     |   70 +
 tests/test_connect_rid.cpp                         |  201 ++
 tests/test_ctx_destroy.cpp                         |  110 +
 tests/test_ctx_options.cpp                         |  211 ++
 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                                 |  321 +++
 tests/test_hwm_pubsub.cpp                          |  248 +++
 tests/test_immediate.cpp                           |  250 +++
 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                       |   65 +
 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                            |   64 +
 tests/test_pair_tipc.cpp                           |   62 +
 tests/test_pair_vmci.cpp                           |   68 +
 tests/test_poller.cpp                              |  413 ++++
 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                          |  192 ++
 tests/test_rebind_ipc.cpp                          |   84 +
 tests/test_reconnect_ivl.cpp                       |  149 ++
 tests/test_req_correlate.cpp                       |  140 ++
 tests/test_req_relaxed.cpp                         |  220 ++
 tests/test_reqrep_device.cpp                       |  153 ++
 tests/test_reqrep_device_tipc.cpp                  |  146 ++
 tests/test_reqrep_inproc.cpp                       |   60 +
 tests/test_reqrep_ipc.cpp                          |  112 +
 tests/test_reqrep_tcp.cpp                          |  336 +++
 tests/test_reqrep_tipc.cpp                         |   61 +
 tests/test_reqrep_vmci.cpp                         |   68 +
 tests/test_router_handover.cpp                     |  117 +
 tests/test_router_mandatory.cpp                    |  292 +++
 tests/test_router_mandatory_hwm.cpp                |  136 ++
 tests/test_router_mandatory_tipc.cpp               |   71 +
 tests/test_scatter_gather.cpp                      |   84 +
 tests/test_security_curve.cpp                      |  791 +++++++
 tests/test_security_gssapi.cpp                     |  370 ++++
 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                |   93 +
 tests/test_socket_null.cpp                         |   82 +
 tests/test_sockopt_hwm.cpp                         |  193 ++
 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                    |  102 +
 tests/test_system.cpp                              |  101 +
 tests/test_term_endpoint.cpp                       |  226 ++
 tests/test_term_endpoint_tipc.cpp                  |  120 +
 tests/test_thread_safe.cpp                         |   90 +
 tests/test_timeo.cpp                               |   93 +
 tests/test_timers.cpp                              |  245 +++
 tests/test_udp.cpp                                 |  134 ++
 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_welcome_msg.cpp                    |   81 +
 tests/test_zmq_poll_fd.cpp                         |   99 +
 tests/testutil.hpp                                 |  401 ++++
 tests/testutil_security.hpp                        |  684 ++++++
 tools/curve_keygen.cpp                             |   64 +
 version.sh                                         |   21 +
 787 files changed, 110841 insertions(+)
