# Generated by Makefile. Do not edit.

commit 463ce1d02674d603301499774029874e5e380bed
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Fri Jun 17 11:34:00 2016 +0100

    Finalize NEWS and bump ABI to 4:1:0 for 4.0.8

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

commit 38cbc1ad5f7ab223e2a79e3e78b9633e471a44dd
Merge: 1a7a449 effc448
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Thu Jun 9 19:10:17 2016 +0200

    Merge pull request #158 from bluca/backport_tempnam
    
    Problem: tempnam is deprecated and insecure

commit effc448cc1f35d7f7e71ffadce85b625b86fe8bd
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Jun 9 15:15:58 2016 +0100

    Update NEWS for fix #139

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

commit 0c332648f81733adf00bf567b6469e6b2e6d9b75
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Dec 20 14:28:54 2013 +0100

    Fixed wildcard IPC endpoint and added test case
    
    Conflicts:
        .gitignore
        tests/Makefile.am

 .gitignore                  |  1 +
 src/ipc_listener.cpp        |  4 +++-
 tests/Makefile.am           |  2 ++
 tests/test_ipc_wildcard.cpp | 55 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 61 insertions(+), 1 deletion(-)

commit 840feef1c3c89031575401fe6127b86dc4fdcd5e
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Dec 19 21:06:22 2013 +0100

    Fixed use of deprecated tempnam

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

commit 1a7a44998bb8bdba68c00af8c2e84b046c198e5d
Merge: 462e962 45c46c7
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed Jun 8 22:47:17 2016 +0200

    Merge pull request #157 from bluca/travis_deploy
    
    Problem: Deploying release artifacts is a manual process

commit 45c46c7af3d8ffdde4f9ef54fd985a5dd2b5fd0a
Author: Kevin Sapper <mail@kevinsapper.de>
Date:   Wed May 4 22:05:40 2016 +0200

    Problem: Deploying release artifacts is a manual process Solution: Use travis to deploy these artifacts automatically.
    
    The deployment is triggered by tagging on the zeromq/libzmq repository.
    Of the many builds travis is checking only the default one with
    libsodium and drafts disabled is used for deployment.
    
    For now the results of `make distcheck` are deployed as well as their
    md5 and sha1 hash sums. Further changes may upload a generated
    Changelog as well.

 .travis.yml  | 16 ++++++++++++++++
 ci_deploy.sh | 20 ++++++++++++++++++++
 2 files changed, 36 insertions(+)

commit e1577f21ddb7cdca1d46d813975b0dd949fa27f6
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Jun 4 13:01:41 2016 +0200

    Problem: Travis CI does not run make distcheck
    
    Solution: do it

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

commit b2a2291373157547f3a29de9c5aa5f5836fbebcb
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Jun 4 18:18:28 2016 +0200

    Problem: make dist does not tar up macros.hpp
    
    Solution: add it to Makefile.am file list

 src/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 2cee1e37f9583bdc70d557f005245e360cb34d82
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Jun 4 18:09:30 2016 +0200

    Problem: doc/Makefile.am ignores --without-docs
    
    Solution: add the document files to the MAN_DOC and MAN_HTML targets
    in doc/Makefile.am only if BUILD_DOC and INSTALL_MAN are set,
    otherwise leave the targets empty to avoid errors in make distcheck.

 doc/Makefile.am | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

commit 462e9625f7f0b196ab8d77f0b877e0cde4021227
Merge: 3a5075c 2460b11
Author: Min RK <benjaminrk@gmail.com>
Date:   Wed Apr 20 11:12:55 2016 +0200

    Merge pull request #154 from hitstergtd/fix-NEWS-for-pr-1877
    
    Problem: No NEWS entry for Issue #919

commit 2460b118c96358f05327df79a9a48dbe50d56c39
Author: hitstergtd <hitstergtd@users.noreply.github.com>
Date:   Wed Apr 20 09:04:08 2016 +0100

    Problem: No NEWS entry for Issue #919
    
    Solution: add entry and mark it as related to Issue #1877 and PR #1511

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

commit 3a5075c59f0353bca69e35ef651c99851742dc83
Merge: dc5e6e5 fd1eb58
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Wed Apr 13 22:57:04 2016 +0200

    Merge pull request #153 from bluca/solaris_fixes
    
    Problem: build broken on Solaris 10

commit fd1eb583c3fdf2eb61dfc6d93eadf90ef761aced
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Apr 12 23:41:30 2016 +0100

    Update NEWS for fix #98

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

commit 9c749078b1e5cdd4cfa8150c54170659df303c0c
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Apr 12 23:21:47 2016 +0100

    Problem: -lssp causes build failure on Solaris
    
    Solution: add -lssp on Solaris only when libsodium is enabled and has
    been found. Also disable pedantic and Werror, as libsodium headers
    use pragma diagnostic which are not available in gcc 3.4.

 configure.ac | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

commit 422b19654e1e2e991efe4b0d9f015c29091828e5
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Tue Apr 12 22:33:15 2016 +0100

    Problem: no newline at end of zmq.cpp, gcc warn
    
    Solution: add it to avoid warning on Solaris 10

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

commit dc5e6e568a178bdcc162b044e927ff1b15987233
Merge: 284c743 8cddc91
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Thu Apr 7 18:30:02 2016 +0200

    Merge pull request #152 from bluca/ipv6_downgrade

commit 8cddc9122be40ff55fa06972e9b08f014cdd29ef
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Apr 7 17:11:48 2016 +0100

    Update NEWS for fix #1887

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

commit 0c66618e405169dcd9f622775c40711c32e93854
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Apr 7 13:17:08 2016 +0100

    Problem: redundant Windows errno conversion
    
    Solution: in the Windows-specific ifdef in tcp_listener set_address,
    check for error and set errno only after the IPv4 fallback has failed
    too, to avoid setting errno when the socket creation succeeds through
    the fallback.

 src/tcp_listener.cpp | 4 ----
 1 file changed, 4 deletions(-)

commit 6892b7b60d39d3bccdd6d5ed452811f1003094a3
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Thu Apr 7 13:15:41 2016 +0100

    Problem: zmq_connect (TCP) has no IPv4 fallback
    
    Solution: if opening an IPv6 TCP socket fails because IPv6 is not
    available, try to open an IPv4 socket instead when creating and
    connecting a TCP endpoint.

 src/tcp_connecter.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 792ee7690ed74798213011998934830e70e9fcd2
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Wed Apr 6 17:15:39 2016 +0100

    Problem: zmq_bind IPv4 fallback still tries IPv6
    
    Solution: if opening an IPv6 TCP socket fails because IPv6 is not
    available, try to open an IPv4 socket instead when creating and
    binding a TCP endpoint.

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

commit 284c74381401305d6dc9de98d6bcd587fa707b52
Merge: 42c6ffd ee8ba67
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed Mar 30 19:41:45 2016 +0200

    Merge pull request #151 from bluca/lingex_fix_backport
    
    Problem: connection might terminate prematurely

commit ee8ba67ff53f3f801984bcaadbee1b129b850430
Author: Luca Boccassi <lboccass@brocade.com>
Date:   Wed Mar 30 17:03:42 2016 +0100

    Problem: NEWS not up to date with bug fixes
    
    Solution: mention closing issue #1877

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

commit 8f1b6f5872245fdb97fcba1bb6f5dc08639a031e
Author: Soren Hansen <Soren.Hansen@ril.com>
Date:   Thu Aug 6 20:09:37 2015 +0200

    Avoid terminating connections prematurely
    
    While sending very large messages (far beyond what fits in a the tcp
    buffer, so it takes multiple sendto system calls for it to finish),
    zmq_close will close the connection regardless of ZMQ_LINGER.
    
    In case no engine is attached, a pipe->check_read() is needed to look
    for the delimiter in the pipe and ultimately trigger the pipe
    termination.
    
    However, if there *is* an engine attached, the check_read() looks ahead
    and finds the delimiter and terminates the connection even though the
    engine might actually still be in the middle of sending a message.
    
    This happens because while the io_thread is still busy sending the data,
    the pipe can get terminated and the io thread ends up being terminated.

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

commit 42c6ffdc1dc05047da45eec972728393e0688b48
Merge: 1b95e5f 5002674
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Feb 16 16:14:05 2016 +0100

    Merge pull request #150 from bluca/uninitialised_sockopt
    
    Problem: curve keys getsockopt uninitialised read

commit 5002674fbe5c5a958c7dbcfce3bab8ea75a4b433
Author: Luca Boccassi <lboccass@brocade.com>
Date:   Tue Feb 16 14:11:53 2016 +0000

    Problem: my name is not in the AUTHORS file
    
    Solution: add myself to the list

 AUTHORS | 1 +
 1 file changed, 1 insertion(+)

commit fdb9c7e035c310ee94aac289af2cf2127156483b
Author: Luca Boccassi <lboccass@brocade.com>
Date:   Tue Feb 16 14:11:38 2016 +0000

    Problem: NEWS not up to date with bug fixes
    
    Solution: mention issues 1806 and 1807

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

commit 453b4ce59619e1449dd097e16c2be386b2a49d84
Author: Luca Boccassi <lboccass@brocade.com>
Date:   Tue Feb 16 14:11:21 2016 +0000

    Problem: Travis CI uses libsodium unstable branch
    
    Solution: use stable branch instead of the development branch, and
    also clone with --depth 1 to make it more efficient.

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

commit 6e1424349b3b53de0e933a2c939957cdb5a9604b
Author: Luca Boccassi <lboccass@brocade.com>
Date:   Tue Feb 16 14:11:00 2016 +0000

    Problem: curve keys getsockopt uninitialised read
    
    Solution: always initialised zmq::options_t class variables arrays to
    avoid reading uninitialised data when CURVE is not yet configured and
    a getsockopt ZMQ_CURVE_{SERVER | PUBLIC | SECRET]KEY is issued.
    
    Backport from libzmq.

 src/options.cpp | 3 +++
 1 file changed, 3 insertions(+)

commit 1b95e5feada2c52a05091f30382619cf8586191d
Merge: 36b4990 aafdcc8
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Feb 12 23:37:52 2016 +0100

    Merge pull request #149 from bluca/gcc6
    
    Problem: build broken with gcc 6

commit aafdcc8d2ed50a90c77a1063f6da2c65a42cd13c
Author: meox <glmeocci@gmail.com>
Date:   Fri Feb 12 22:19:51 2016 +0000

    [PATCH] fix error with gcc 5.2

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

commit 36b4990e14d47d3cde30dfa6db32cfb2d773cc77
Merge: 055de7f c421799
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Feb 4 09:18:16 2016 +0100

    Merge pull request #147 from greenjava/master
    
    Fixed errors with CMake 3.4 and VisualStudio 2015

commit c421799fb2bfb5799b543835259a1705ef98e35f
Author: Julien Waechter <julien.waechter@gmail.com>
Date:   Thu Feb 4 01:00:15 2016 +0100

    Fixed build with CMake >=3.4.x
    
    Since CMake 3.4.x, in set_target_properties macro, COMPILE_FLAGS with space generate errors (version.rc.res is not generated)

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

commit 44588ab730ff23490cf318d199b0843a97718a2b
Author: Richard Newton <richard_newton@waters.com>
Date:   Sat Sep 19 14:39:18 2015 +0100

    Update cmake to support Visual Studio 2015

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

commit 2ab2cb6028d5a19fbd871a07353745ad6f41c0c8
Author: Sergei Nikulov <sergey.nikulov@gmail.com>
Date:   Fri Jan 10 10:47:33 2014 +0400

    cmake: fixed error 'install TARGETS given no ARCHIVE DESTINATION for static library target'

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

commit 055de7fb7a3b010b639e20bcd4868fee6cd4afcb
Merge: 21b5e4b d2687e7
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sat Jan 30 16:16:52 2016 +0100

    Merge pull request #146 from jcfr/backport-fix-gcc-warnings
    
    Style: Backport fix gcc warnings

commit 21b5e4b283c6f82d57d7dd8b89cd4222eb225cce
Merge: 1206dc4 b690bdf
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sat Jan 30 16:15:53 2016 +0100

    Merge pull request #145 from jcfr/backport-FindAsciiDoc-fix-CMP0053-warning
    
    FindAsciiDoc: fix CMP0053 warning with cmake 3.1

commit d2687e75b68cff19daaf3656952045d0ea8133aa
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 04:13:39 2016 -0500

    Fix unused parameter and variable warnings.
    
    Backported from zeromq/libzmq@00aeadd
    
    It fixes the following warnings:
    
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    In file included from /path/to/src/mechanism.cpp:22:0:
    /path/to/src/mechanism.hpp:49:36: warning: unused parameter 'msg_' [-Wunused-parameter]
             virtual int encode (msg_t *msg_) { return 0; }
                                        ^
    /path/to/src/mechanism.hpp:51:36: warning: unused parameter 'msg_' [-Wunused-parameter]
             virtual int decode (msg_t *msg_) { return 0; }
                                        ^
    /path/to/src/mechanism.cpp:126:51: warning: unused parameter 'name_' [-Wunused-parameter]
     int zmq::mechanism_t::property (const std::string name_,
                                                       ^
    /path/to/src/mechanism.cpp:127:45: warning: unused parameter 'value_' [-Wunused-parameter]
                                     const void *value_, size_t length_)
                                                 ^
    /path/to/src/mechanism.cpp:127:60: warning: unused parameter 'length_' [-Wunused-parameter]
                                     const void *value_, size_t length_)
                                                                ^
    
    /path/to/src/mechanism.cpp:127:60: warning: unused parameter 'length_' [-Wunused-parameter]
                                     const void *value_, size_t length_)
                                                                ^
    
    In file included from /path/to/src/pipe.cpp:28:0:
    /path/to/src/ypipe_conflate.hpp: In instantiation of 'bool zmq::ypipe_conflate_t<T, N>::unwrite(T*) [with T = zmq::msg_t; int N = 256]':
    /path/to/src/pipe.cpp:489:1:   required from here
    /path/to/src/ypipe_conflate.hpp:73:33: warning: unused parameter 'value_' [-Wunused-parameter]
             inline bool unwrite (T *value_)
                                     ^
    
    /path/to/src/zmq_utils.cpp:178:30: warning: unused parameter 'z85_public_key' [-Wunused-parameter]
     int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key)
                                  ^
    /path/to/src/zmq_utils.cpp:178:52: warning: unused parameter 'z85_secret_key' [-Wunused-parameter]
     int zmq_curve_keypair (char *z85_public_key, char *z85_secret_key)
                                                        ^
    
    /path/to/tests/test_hwm.cpp:205:57: warning: unused parameter 'recv_hwm' [-Wunused-parameter]
     int test_inproc_bind_and_close_first (int send_hwm, int recv_hwm)
                                                             ^
    [ 69%] Linking CXX executable bin/test_connect_resolve
    /path/to/tests/test_disconnect_inproc.cpp:31:14: warning: unused parameter 'argc' [-Wunused-parameter]
     int main(int argc, char** argv) {
                  ^
    /path/to/tests/test_disconnect_inproc.cpp:31:27: warning: unused parameter 'argv' [-Wunused-parameter]
     int main(int argc, char** argv) {
                               ^
    
    /path/to/tests/test_stream.cpp:39:81: warning: missing initializer for member 'zmtp_greeting_t::as_server' [-Wmissing-field-initializers]
         = { { 0xFF, 0, 0, 0, 0, 0, 0, 0, 1, 0x7F }, { 3, 0 }, { 'N', 'U', 'L', 'L'} };
                                                                                     ^
    /path/to/tests/test_stream.cpp:39:81: warning: missing initializer for member 'zmtp_greeting_t::filler' [-Wmissing-field-initializers]
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    
    # Conflicts:
    #	src/stream.cpp
    #	src/stream_engine.cpp
    #	tests/test_stream_disconnect_notifications.cpp

 src/mechanism.cpp                | 4 ++--
 src/mechanism.hpp                | 4 ++--
 src/ypipe_conflate.hpp           | 2 +-
 src/zmq_utils.cpp                | 5 +++--
 tests/test_conflate.cpp          | 2 +-
 tests/test_disconnect_inproc.cpp | 2 +-
 tests/test_hwm.cpp               | 2 +-
 tests/test_stream.cpp            | 4 ++--
 8 files changed, 13 insertions(+), 12 deletions(-)

commit 4055bbb01f32f6354f01eec000c3beea0f054148
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 03:52:24 2016 -0500

    Problem: Private/internal macros defined in public header.
    Solution: Move the macros to a private header.
    
    Backported from zeromq/libzmq@3341942
    
    # Conflicts:
    #	include/zmq.h
    #	src/address.cpp
    #	src/client.cpp
    #	src/server.cpp
    #	src/socks_connecter.cpp
    #	src/zmq.cpp

 include/zmq.h         |  6 ------
 src/address.cpp       |  1 +
 src/ctx.cpp           |  1 +
 src/dealer.cpp        |  1 +
 src/epoll.cpp         |  1 +
 src/io_thread.cpp     |  1 +
 src/kqueue.cpp        |  1 +
 src/macros.hpp        | 12 ++++++++++++
 src/msg.cpp           |  1 +
 src/mtrie.cpp         |  1 +
 src/pair.cpp          |  1 +
 src/pgm_receiver.cpp  |  1 +
 src/pipe.cpp          |  1 +
 src/pull.cpp          |  1 +
 src/push.cpp          |  1 +
 src/reaper.cpp        |  1 +
 src/router.cpp        |  1 +
 src/session_base.cpp  |  1 +
 src/socket_base.cpp   |  1 +
 src/stream.cpp        |  1 +
 src/stream_engine.cpp |  1 +
 src/tcp.cpp           |  1 +
 src/tcp_address.cpp   |  1 +
 src/tcp_connecter.cpp |  1 +
 src/trie.cpp          |  1 +
 src/xsub.cpp          |  1 +
 src/zmq.cpp           |  1 +
 src/zmq_utils.cpp     |  1 +
 28 files changed, 38 insertions(+), 6 deletions(-)

commit 300d80ffe9d74fe0624b0d592e83829e921484f3
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 03:46:46 2016 -0500

    rename ZMQ_UNUSED macro to LIBZMQ_UNUSED
    
    Backported from zeromq/libzmq@63260d8
    
    # Conflicts:
    #	include/zmq.h
    #	src/client.cpp
    #	src/server.cpp

 include/zmq.h       |  4 ++--
 src/dealer.cpp      |  2 +-
 src/pair.cpp        |  2 +-
 src/pull.cpp        |  2 +-
 src/push.cpp        |  2 +-
 src/router.cpp      |  2 +-
 src/stream.cpp      |  2 +-
 src/tcp.cpp         | 10 +++++-----
 src/tcp_address.cpp |  8 ++++----
 src/xsub.cpp        |  2 +-
 10 files changed, 18 insertions(+), 18 deletions(-)

commit 9df7ed074093413f2ec04c27a7a07bfbff7e64b8
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 03:42:29 2016 -0500

    place a ZMQ_UNUSED macro and replace all unused variables with ZMQ_UNUSED macro
    
    Backported from zeromq/libzmq@bff2284
    
    # Conflicts:
    #	src/client.cpp
    #	src/server.cpp

 include/zmq.h       |  6 ++++++
 src/dealer.cpp      |  3 +--
 src/pair.cpp        |  3 +--
 src/pull.cpp        |  3 +--
 src/push.cpp        |  4 ++--
 src/router.cpp      |  3 +--
 src/stream.cpp      |  3 +--
 src/tcp.cpp         | 10 +++++-----
 src/tcp_address.cpp |  9 ++++-----
 src/xsub.cpp        |  3 +--
 10 files changed, 23 insertions(+), 24 deletions(-)

commit b690bdf1484a2c07ebec1075fcc278e982c00509
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 03:16:22 2016 -0500

    FindAsciiDoc: fix CMP0053 warning with cmake 3.1
    
    Backported from zeromq/libzmq@032c5ed
    
    This commit fixes the following warnings:
    
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    CMake Warning (dev) at builds/cmake/Modules/FindAsciiDoc.cmake:9 (find_program):
      Policy CMP0053 is not set: Simplify variable reference and escape sequence
      evaluation.  Run "cmake --help-policy CMP0053" for policy details.  Use the
      cmake_policy command to set the policy and suppress this warning.
    
      For input:
    
        '$ENV{PROGRAMFILES(X86)}/asciidoc'
    
      the old evaluation rules produce:
    
        '/asciidoc'
    
      but the new evaluation rules produce an error:
    
        Syntax error in cmake code at
          /path/to/builds/cmake/Modules/FindAsciiDoc.cmake:13
        when parsing string
          $ENV{PROGRAMFILES(X86)}/asciidoc
        Invalid character ('(') in a variable name: 'PROGRAMFILES'
    
      Using the old result for compatibility since the policy is not set.
    Call Stack (most recent call first):
      CMakeLists.txt:193 (find_package)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    
    and
    
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---
    CMake Warning (dev) at builds/cmake/Modules/FindAsciiDoc.cmake:15 (find_program):
      Policy CMP0053 is not set: Simplify variable reference and escape sequence
      evaluation.  Run "cmake --help-policy CMP0053" for policy details.  Use the
      cmake_policy command to set the policy and suppress this warning.
    
      For input:
    
        '$ENV{PROGRAMFILES(X86)}/asciidoc'
    
      the old evaluation rules produce:
    
        '/asciidoc'
    
      but the new evaluation rules produce an error:
    
        Syntax error in cmake code at
          /path/to/builds/cmake/Modules/FindAsciiDoc.cmake:19
        when parsing string
          $ENV{PROGRAMFILES(X86)}/asciidoc
        Invalid character ('(') in a variable name: 'PROGRAMFILES'
    
      Using the old result for compatibility since the policy is not set.
    Call Stack (most recent call first):
      CMakeLists.txt:193 (find_package)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

 builds/cmake/Modules/FindAsciiDoc.cmake | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 1206dc46cba0ae6da490511bc70e5a2587e758b5
Merge: e1ebead 5ade781
Author: Constantin Rack <c-rack@users.noreply.github.com>
Date:   Sat Jan 30 08:11:39 2016 +0100

    Merge pull request #144 from jcfr/patch-1
    
    README: Add hyperlinks to explicitly reference reposistories

commit 5ade7812832580f48518ab7437cb3b44d689d34f
Author: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
Date:   Sat Jan 30 01:58:49 2016 -0500

    README: Add hyperlinks to explicitly reference reposistories

 README.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit e1ebeadd05be7325a7bf99d88e55006610ae5f66
Merge: f080815 43b9d9d
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sat Jan 23 11:48:14 2016 +0100

    Merge pull request #142 from pothosware/master
    
    Fixes for visual studio

commit 43b9d9d6194b31da1cbc406970cb20d1b86796b3
Author: Josh Blum <josh@joshknows.com>
Date:   Sat Jan 23 01:25:01 2016 -0800

    Fix C linkage for public symbols MSVC
    
    The header symbols are declared extern "C",
    however the the implementations are compiled in a C++ source.
    The result is that the library symbols get C++ name mangled
    and the resulting dll is missing all of the symbols from the header.
    The fix was to add extern "C" in zmq.cpp and zmq_utils.cpp

 src/zmq.cpp       | 3 +++
 src/zmq_utils.cpp | 3 +++
 2 files changed, 6 insertions(+)

commit 27a3f2aa92615edc1e1f617f7a0e6562d45c2af4
Author: Josh Blum <josh@joshknows.com>
Date:   Sat Jan 23 01:21:29 2016 -0800

    Fix static library name overlap under MSVC
    
    The static library was given the same OUTPUT_NAME as the dynamic library.
    This leads to one library's build products overwriting the other.
    The fix sets the name "libzmq-static" for the static library.

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

commit f080815487a3e29d9cf0369345f61adfda61d8bb
Merge: bff7f02 aabe798
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Aug 17 13:07:44 2015 +0200

    Merge pull request #137 from bluca/ci-container-build
    
    Enable container-based build

commit aabe7983d10c416d7ead30b97268d24b57feba4b
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Mon Aug 17 01:37:39 2015 +0100

    Enable container-based build
    
    Remove use of "sudo", build and install in local directory in order
    to enable container-based CI builds

 .travis.yml | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

commit bff7f02d1535f28b19eafb7a379095642eacbd66
Merge: 023da3a a228da6
Author: Richard Newton <richard_newton@waters.com>
Date:   Sun Aug 2 19:31:16 2015 +0100

    Merge pull request #136 from bluca/fix-ci-timeout
    
    Problem: CI may fail due to timeout. Fixes #135

commit 023da3af335909216589c4840733a79a9595f15a
Merge: fb6a0b2 8014a22
Author: Richard Newton <richard_newton@waters.com>
Date:   Sun Aug 2 19:24:16 2015 +0100

    Merge pull request #132 from bluca/fix-autogen-libtool-detection
    
    Solution: check for libtoolize in autogen. Fixes #131

commit fb6a0b24f7db00e91e5c7bed2359d653c8211894
Merge: 65911b3 3d6f11e
Author: Richard Newton <richard_newton@waters.com>
Date:   Sun Aug 2 19:23:48 2015 +0100

    Merge pull request #107 from minrk/backport-721
    
    backport stream socket empty frame fix

commit a228da62b1ae65066ad8d437500533b3f9100630
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Aug 1 16:11:50 2015 +0100

    Problem: CI may fail due to timeout. Fixes #135
    
    Solution: cherry-pick Pieter Hintjens commit a7a512ab from libzmq
    repository to increase test timeouts to 250 msec.

 tests/test_immediate.cpp      | 2 +-
 tests/test_req_relaxed.cpp    | 2 +-
 tests/test_security_curve.cpp | 2 +-
 tests/test_security_null.cpp  | 2 +-
 tests/test_security_plain.cpp | 2 +-
 tests/test_spec_dealer.cpp    | 6 +++---
 tests/test_spec_pushpull.cpp  | 4 ++--
 tests/test_spec_rep.cpp       | 2 +-
 tests/test_spec_req.cpp       | 6 +++---
 tests/test_spec_router.cpp    | 2 +-
 tests/testutil.hpp            | 2 +-
 11 files changed, 16 insertions(+), 16 deletions(-)

commit 65911b3729e6b29b3590c3dd38fbb8faafa76e6f
Merge: ed0dd6a d695051
Author: Richard Newton <richard_newton@waters.com>
Date:   Sun Aug 2 19:22:28 2015 +0100

    Merge pull request #134 from bluca/travis-ci-osx
    
    Travis ci osx

commit d6950515c359c6ae8d8513aec18553f2c87039e9
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sun Aug 2 19:11:08 2015 +0100

    Increase file limit in travis config
    
    Test cases occasionally fail, especially on OSX, due to socket limit.

 .travis.yml | 5 +++++
 1 file changed, 5 insertions(+)

commit 091893434356bf4d52860a6a9f71b27815603ec0
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Aug 1 19:17:59 2015 +0100

    Add OSX build to travis config. Fixes #133

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

commit 9a71c02dcfe7053789ce2b1d29a41b73e193910d
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Aug 1 19:17:37 2015 +0100

    Do not use ldconfig in CI if running on OSX
    
    ldconfig is not available on OSX, so Travis CI build fails

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

commit 8014a226f980331d3087c3b1ae2c12a4fb447a16
Author: Luca Boccassi <luca.boccassi@gmail.com>
Date:   Sat Aug 1 12:41:24 2015 +0100

    Solution: check for libtoolize in autogen. Fixes #131
    
    Autogen.sh looks for the libtool command as a mean to check if
    libtool is available. But distributions like Debian and Ubuntu have
    split the libtool package, and the libtool script is now in a
    separate package. The solution is to look for the libtoolize command
    too before failing, which is what the Autotools chain actually needs
    on Linux. Keep checking for libtool to be compatible with OSX, where
    the opposite is true.

 autogen.sh | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

commit ed0dd6a3c427b33e6b77f246cbf3afba56f72f1f
Merge: 7c3e018 630f991
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Jul 16 14:07:17 2015 +0200

    Merge pull request #130 from leonarf/patch-1
    
    THREAD PRIORITY option documentation

commit 630f991bfafe93b847ae1894c1db8fb9502ad5db
Author: leonarf <leonard.michelet@openwide.fr>
Date:   Thu Jul 16 13:52:11 2015 +0200

    THREAD PRIORITY option documentation
    
    Documentation about ZMQ_THREAD_PRIORITY and ZMQ_THREAD_SCHED_POLICY context's option.

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

commit 7c3e0187be1191c14a4a33f0f974e59604efc73e
Merge: 42007dd 1b61fcc
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 29 23:36:36 2015 +0200

    Merge pull request #129 from calid/master
    
    Updated NEWS

commit 1b61fccb09c3f7f89c4fbd42ad10052116c62c3c
Author: Dylan Cali <calid1984@gmail.com>
Date:   Mon Jun 29 02:37:31 2015 -0500

    Updated NEWS

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

commit 42007dd75419b2059ef36573cabd93408ac5b884
Merge: 190e737 d2574dd
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 29 08:06:44 2015 +0200

    Merge pull request #128 from calid/libzmq-949-backport
    
    backport zeromq/libzmq#949 fixes to 4-x stable

commit d2574dd45fd565145909256a1803d7c2feb74c7c
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Jun 28 23:23:54 2015 -0500

    backport zeromq/libzmq@09e7416
    
    fixes zmq_unbind failing for wildcard endpoints

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

commit f1cec450db3bf7fa16e47b8917c8d6a48cbc3076
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Jun 28 23:23:16 2015 -0500

    backport zeromq/libzmq@54e0fde
    
    fixes zmq_unbind failing with ENOENT

 src/ctx.cpp         | 20 ++++++++++++++++++++
 src/ctx.hpp         |  1 +
 src/object.cpp      |  6 ++++++
 src/object.hpp      |  3 +++
 src/socket_base.cpp |  2 ++
 5 files changed, 32 insertions(+)

commit 8d59f91acdb0f31e2cab7cf19b159ed6b9196aa2
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Jun 28 20:01:12 2015 -0500

    add tests for zeromq/libzmq#949

 .gitignore                     |  2 ++
 tests/Makefile.am              |  4 ++++
 tests/test_unbind_inproc.cpp   | 43 +++++++++++++++++++++++++++++++++++++
 tests/test_unbind_wildcard.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 97 insertions(+)

commit 190e737abfd3929eeaf5524e345d40bca8ac8332
Merge: de7895b 35de168
Author: Min RK <benjaminrk@gmail.com>
Date:   Sun Jun 28 17:56:15 2015 -0700

    Merge pull request #127 from calid/ignore-test_proxy_single_socket
    
    add test_proxy_single_socket to gitignore

commit 35de168c7e9627c0d677a8a3cb1c84ca6a3ad5b3
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Jun 28 19:43:15 2015 -0500

    add test_proxy_single_socket to gitignore

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

commit de7895bd55d187e566abafb92ddfed30d16986a0
Merge: ba8f58e 5c2fb5f
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 15 12:04:47 2015 +0200

    Merge pull request #125 from hintjens/master
    
    Updated version to 4.0.8 for next release

commit 5c2fb5f7920acfe7f84aefc440abed4370bac33d
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 15 12:04:20 2015 +0200

    Updated version to 4.0.8 for next release

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

commit ba8f58ecfcc2ca93384db8a8aad4b4063509873c
Merge: 3f6936e e8c4e77
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 15 11:56:57 2015 +0200

    Merge pull request #124 from hintjens/master
    
    Updated NEWS for release 4.0.7

commit e8c4e77088010e4341e16e1df6e87d1dedf96e53
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 15 11:56:15 2015 +0200

    Updated NEWS for release 4.0.7

 NEWS | 78 +++++++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 42 insertions(+), 36 deletions(-)

commit 3f6936ecfde1ce00aa7f4279e725b0229e36703b
Merge: 02eb472 3f12984
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 8 09:03:01 2015 +0200

    Merge pull request #123 from minrk/4.0.7
    
    bump version to 4.0.7

commit 3f12984eaa84189cd169ddd0777b8eadb2a4188f
Author: Min RK <benjaminrk@gmail.com>
Date:   Sun Jun 7 11:19:14 2015 -0700

    bump version to 4.0.7

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

commit 02eb472c0a5933068e9be10d4ba48742c0dc03ac
Merge: d4994cf c8feda9
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sun Jun 7 21:37:27 2015 +0200

    Merge pull request #122 from minrk/proxy-poll
    
    backport fix for #1428

commit 3d6f11e56d365265bac6abf6a789dc2ab4477d54
Author: Min RK <benjaminrk@gmail.com>
Date:   Wed Mar 4 10:59:49 2015 -0800

    backport stream socket empty frame fix
    
    backport of zeromq/libzmq#721
    
    In the discussion, it was decided to backport, but that never actually happened.
    
    test file was renamed after the above PR, so the version from master is pulled in here.

 src/stream.cpp              |  2 ++
 tests/Makefile.am           |  4 ++-
 tests/test_stream_empty.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 65 insertions(+), 1 deletion(-)

commit c8feda9e19cca2e45a518ade4a833e8f7cbc42f8
Author: Min RK <benjaminrk@gmail.com>
Date:   Sat Jun 6 21:05:55 2015 -0700

    test proxy with single REP socket

 tests/Makefile.am                  |   2 +
 tests/test_proxy_single_socket.cpp | 113 +++++++++++++++++++++++++++++++++++++
 2 files changed, 115 insertions(+)

commit 9de7eeb467a80d1e445d9728c13554e264bd8067
Author: Min RK <benjaminrk@gmail.com>
Date:   Sat Jun 6 21:05:32 2015 -0700

    don't check POLLOUT for single-socket proxies

 src/proxy.cpp | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

commit d4994cfe1c74f7ec65a3eb9d77e10fcf0b9911c5
Merge: 1a0ccea 286c6f9
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Jun 5 23:23:18 2015 +0200

    Merge pull request #121 from minrk/pollout
    
    fix scope of itemsout poll

commit 286c6f93eed1487d1fc86ea1f8fdbdd6eb0a965d
Author: Min RK <benjaminrk@gmail.com>
Date:   Fri Jun 5 13:45:23 2015 -0700

    test that proxy messages are received

 tests/test_proxy_terminate.cpp | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

commit 0f10ef1b38afdecaaccf2b0c28501e55411c664f
Author: Min RK <benjaminrk@gmail.com>
Date:   Fri Jun 5 13:45:10 2015 -0700

    fix scope of itemsout poll
    
    indentation was correct, but poll was inside `if control`,
    causing it to only be called if there is a control message.
    
    This would cause proxy messages to only be delivered after a control message had been sent.

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

commit 1a0cceac439b28b6ddfa63d7042ab091166b57b9
Merge: cf6e78f 2ac32f8
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Jun 5 12:23:23 2015 +0200

    Merge pull request #120 from junovitch/master
    
    Add missing newline to test_proxy_terminate.cpp to fix compiling with…

commit 2ac32f8c49188e9d251081d9d6e4e00499fce31e
Author: Jason Unovitch <jason.unovitch@gmail.com>
Date:   Thu Jun 4 19:37:47 2015 -0400

    Add missing newline to test_proxy_terminate.cpp to fix compiling with Clang's -Werror,-Wnewline-eof

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

commit cf6e78ff82541c58255ba61479e3a70e12757fbc
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Jun 2 12:20:31 2015 +0200

    Updated NEWS for 4.0.6 release

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

commit cfcebb36052bb7aba5e70d847a50eb0c81ae6e4b
Merge: 10c54d1 509c746
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu May 28 11:08:22 2015 +0200

    Merge pull request #118 from mditzel/master
    
    Fix for issue #117.

commit 509c746852c5f05fa8080753436c1ac862ebc585
Author: Maarten Ditzel <maarten.ditzel@tno.nl>
Date:   Thu May 28 09:19:23 2015 +0200

    Also setting FD_SETSIZE to 1024 when using mingw.

 CMakeLists.txt | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit 10c54d122bfd307af4b3f5504e84058a2a4e4ebe
Merge: 60568f2 95019b0
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed May 27 15:31:19 2015 +0200

    Merge pull request #116 from rikvdh/master
    
    Fix another degradation, CPU maxes out when POLLOUT is set

commit 95019b00a05275d8584a108f692d6ff2ebcbb26e
Author: Rik van der Heijden <rik.vanderheijden@dualinventive.com>
Date:   Wed May 27 14:14:37 2015 +0200

    Fix another degradation, CPU maxes out when POLLOUT is set because poll exits on POLLOUT and doesn't wait for POLLIN

 src/proxy.cpp | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

commit 60568f2b306253542af5422dc36f55ae470694d1
Merge: 1a86783 683059d
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sun May 24 22:59:23 2015 +0200

    Merge pull request #115 from rikvdh/master
    
    Fix degradation from #1382, POLLOUT was tested but not requested

commit 683059d3a2f51ca29af68d78b4eb340ed614666e
Author: Rik van der Heijden <rik.vanderheijden@dualinventive.com>
Date:   Sun May 24 22:37:24 2015 +0200

    Fix degradation from #1382, POLLOUT was tested but not requested

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

commit 1a86783d42992f7c1f9138f209b7bf619dc8a65a
Merge: 95ba372 b2d444d
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 1 21:12:54 2015 +0200

    Merge pull request #114 from hintjens/master
    
    Updated NEWS

commit b2d444dc5804e7883d93845d5313e946624af323
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 1 21:12:31 2015 +0200

    Updated NEWS

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

commit 95ba372e60d7fb260bc1164aa49b45508cc3d34a
Merge: 399b71c 4bba965
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 1 21:11:45 2015 +0200

    Merge pull request #113 from rikvdh/master
    
    Backport issue zeromq/libzmq#1382 & fix for issue #88

commit 4bba965d98bee4c56d394add93e67cd51da220d8
Author: Rik van der Heijden <mail@rikvanderheijden.com>
Date:   Fri May 1 20:57:40 2015 +0200

    Problem: zmq_proxy_steerable didnt act on PAUSE/RESUME (fixes issue #88)

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

commit 8a9fece30a99a462539be4955966c306ac32afd3
Author: Rik van der Heijden <mail@rikvanderheijden.com>
Date:   Fri May 1 20:51:37 2015 +0200

    Backport zeromq/libzmq#1382: Do not send data to backend when there are no listeners (+ test)

 .gitignore                     |   1 +
 AUTHORS                        |   1 +
 CMakeLists.txt                 |   1 +
 src/proxy.cpp                  |  10 ++--
 tests/Makefile.am              |   2 +
 tests/test_proxy_terminate.cpp | 113 +++++++++++++++++++++++++++++++++++++++++
 6 files changed, 124 insertions(+), 4 deletions(-)

commit 399b71cbad8912492292b9cd29975078ee005fb2
Merge: 3d13448 1c139eb
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 1 08:45:16 2015 +0200

    Merge pull request #112 from hintjens/master
    
    Fix for #1384

commit 1c139eb42f9eec95702dff1f90575c38bec9beda
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 1 08:44:20 2015 +0200

    Updated NEWS for #1389

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

commit a1d1222dcc74d66541e3fcf7b352f98532a83a4f
Author: Martin Hurton <hurtonm@gmail.com>
Date:   Tue Apr 28 07:44:22 2015 +0200

    pub: Don't delay pipe termination

 src/pub.cpp | 13 +++++++++++++
 src/pub.hpp |  1 +
 2 files changed, 14 insertions(+)

commit 812c2016b1475abd60d9a66ee9df4684b380937c
Author: Martin Hurton <hurtonm@gmail.com>
Date:   Tue Apr 28 07:40:31 2015 +0200

    push: Don't delay pipe termination

 src/push.cpp | 3 +++
 1 file changed, 3 insertions(+)

commit 3d13448a33950664d83c43d1e3bb8373226de890
Merge: 5cd98ee b589fb9
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed Apr 22 00:29:01 2015 +0300

    Merge pull request #111 from hintjens/master
    
    Problem: shutdown asserts if WSASTARUP wasn't done previously

commit b589fb98b8d3bd4f10e6a9b7bcf6b8a96e45a8a5
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Apr 20 12:51:10 2015 +0200

    Problem: shutdown asserts if WSASTARUP wasn't done previously
    
    This is a silly assertion that causes problems if libzmq.dll is
    called in some esoteric ways.
    
    Solution: if the shutdown code detects WSANOTINITIALISED, then
    exit silently.
    
    Fixes #1377
    Fixes #1144
    
    Conflicts:
    
    	src/signaler.cpp

 NEWS             |  2 ++
 src/signaler.cpp | 15 +++++++++------
 2 files changed, 11 insertions(+), 6 deletions(-)

commit 5cd98ee7cd8c15d8782fe2414381b774407b702d
Merge: 9513148 749dd8c
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sun Mar 15 11:27:15 2015 +0100

    Merge pull request #108 from calid/docfix-zmq-msg-init
    
    doc: zmq_msg_init does not set errno

commit 749dd8ce86368f1c44c127018ac20425c0b6e3e4
Author: Dylan Cali <calid1984@gmail.com>
Date:   Sun Mar 15 04:03:01 2015 -0500

    doc: zmq_msg_init does not set errno
    
    In fact it always returns zero.
    
    Backport of zeromq/libzmq#1368

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

commit 9513148e27b48e47f9b10274da4df6443a67c986
Merge: 3d35365 1dc65d3
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Feb 20 09:15:21 2015 +0100

    Merge pull request #106 from hintjens/master
    
    Fixed issue #1362

commit 1dc65d360afa948f8474fb3c99cf448fc4bbdbd0
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Feb 20 09:13:20 2015 +0100

    Updated news for #1362

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

commit d8d9d17b21a3ce6cd11456b64c0c843d73d2e75b
Author: Martin Hurton <hurtonm@gmail.com>
Date:   Thu Feb 19 21:38:10 2015 +0100

    Adjust number of sent messages on hiccups
    
    Not adjusting the sent message count may lead to situation when SUB
    socket does not forward its subscriptions.

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

commit 3d353659f716b2545f124444511d6aa4f277f336
Merge: b6e3e0f faaf455
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Feb 17 07:33:28 2015 +0100

    Merge pull request #105 from minrk/libsodium-no
    
    Problem: cannot prevent linking against libsodium on default path

commit faaf4550263395b84e6a80d3f9d7ba8816cdd714
Author: Min RK <benjaminrk@gmail.com>
Date:   Mon Feb 16 14:59:54 2015 -0800

    allow `--without-libsodium`
    
    and `--with-libsodium=no` to disable linking against libsodium.
    
    Without this patch, it is not possible to disable linking with libsodium present on the default path.

 configure.ac | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit b6e3e0f601e2c1ec1f3aac880ed6a3fe63043e51
Merge: f6968ec 77ef79e
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Dec 5 09:08:38 2014 +0100

    Merge pull request #101 from hintjens/master
    
    Problem: issue #1273, protocol downgrade attack

commit 77ef79e3b565f120172c6d1c30fabec6185553da
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Dec 5 09:07:37 2014 +0100

    Problem: issue #1273, protocol downgrade attack
    
    Solution: backport fix from libzmq master. Also backported test
    cases.

 NEWS                          |   4 +-
 src/session_base.cpp          |   8 +++
 src/session_base.hpp          |   3 +-
 src/stream_engine.cpp         |  15 ++++++
 tests/test_security_curve.cpp |  66 ++++++++++++++++++++---
 tests/test_security_null.cpp  | 121 ++++++++++++++++++++++++++----------------
 tests/test_security_plain.cpp |  37 ++++++++++++-
 7 files changed, 197 insertions(+), 57 deletions(-)

commit f6968ecd412eb207b9c61944aee95f0929a60406
Merge: f584947 a196823
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Nov 6 10:58:02 2014 +0100

    Merge pull request #100 from hintjens/master
    
    Problem: zmq_ctx_term has insane behavior by default

commit a19682307f6575017e15aac6f25c089be4389ce6
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Nov 6 10:56:50 2014 +0100

    Problem: zmq_ctx_term has insane behavior by default
    
    Solution: document this with a clear warning. It would be
    nicer perhaps to change the default LINGER to e.g. a few
    seconds. However this could break existing applications.

 doc/zmq_ctx_term.txt | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

commit f58494736845bba9e25afebf18095115cf8e5e04
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Oct 14 10:23:00 2014 +0200

    Updated version for next release

 NEWS          | 4 ++++
 include/zmq.h | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

commit 98df4b6182b1334d3b67602569330af8687e8b68
Merge: 4722767 9be6c07
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Oct 14 10:06:24 2014 +0200

    Merge pull request #97 from hintjens/master
    
    Updated NEWS for 4.0.5

commit 9be6c076cbf8e3c179d6124523cf1d3fe386e77a
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Oct 14 10:05:41 2014 +0200

    Updated NEWS for 4.0.5

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

commit 47227672ef9413b588f26ee2fe1bb8a69a18ee5f
Merge: eae9cbe 2d76149
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed Oct 1 07:47:45 2014 +0200

    Merge pull request #95 from ceph/master
    
    Spec file fixes: missing manpages/binaries, renamed library files, doc build requirements

commit 2d7614961c7718308ea460dc2ded2559e95b1944
Author: Dan Mick <dmick@localhost.localdomain>
Date:   Tue Sep 30 20:05:21 2014 -0700

    zeromq.spec.in: missing manpage files
    
    Signed-off-by: Dan Mick <dmick@redhat.com>

 builds/redhat/zeromq.spec.in | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 87b35ded47a3a35b408c5959dfd5df44c0ed8b3f
Author: Dan Mick <dmick@localhost.localdomain>
Date:   Tue Sep 30 20:04:57 2014 -0700

    zeromq.spec.in: shared library version bump
    
    Signed-off-by: Dan Mick <dmick@redhat.com>

 builds/redhat/zeromq.spec.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 93096d461c37abd40539435bafc1a07f567f0de8
Author: Dan Mick <dmick@localhost.localdomain>
Date:   Tue Sep 30 20:04:19 2014 -0700

    zeromq.spec.in: missing binary curve_keygen
    
    Signed-off-by: Dan Mick <dmick@redhat.com>

 builds/redhat/zeromq.spec.in | 3 +++
 1 file changed, 3 insertions(+)

commit b2cb9b9ec2363b8d5943840b4435b19f81c85d88
Author: Dan Mick <dmick@localhost.localdomain>
Date:   Tue Sep 30 20:02:18 2014 -0700

    zeromq.spec.in: Missing build dependencies in specfile: asciidoc, xmlto
    
    Signed-off-by: Dan Mick <dmick@redhat.com>

 builds/redhat/zeromq.spec.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f94de6e7361e6a2bfceb9289f628e420a72aa6b6
Author: Dan Mick <dmick@localhost.localdomain>
Date:   Tue Sep 30 19:53:10 2014 -0700

    zeromq.spec.in/Makefile: README is no more; replace with README.md
    
    Signed-off-by: Dan Mick <dan.mick@redhat.com>

 Makefile.am                  | 1 +
 builds/redhat/zeromq.spec.in | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit eae9cbe72f1819dbf7e46bba0547bf2854a1f435
Merge: 88e5636 f024eef
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sat Sep 20 20:50:51 2014 +0200

    Merge pull request #93 from hintjens/master
    
    Security fixes

commit f024eef27c2be7e1b3ff3a8b0e7235a51a4b2841
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sat Sep 20 20:50:25 2014 +0200

    Updated NEWS for #1190 and #1191

 NEWS | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

commit 73e59be3218bb0a4cb486f1a3774e8159854f9ee
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sat Sep 20 10:39:13 2014 +0200

    Updated CURVE test case

 tests/test_security_curve.cpp | 21 ++++++++++-----------
 tests/testutil.hpp            | 24 +++++++++++++++++-------
 2 files changed, 27 insertions(+), 18 deletions(-)

commit d73b2408808375af2a6a2ac8e211db429aac71f2
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Sep 19 19:24:45 2014 +0200

    Merged patch for #1190

 src/stream_engine.cpp         |  9 ++++++---
 tests/test_security_curve.cpp | 20 ++++++++++++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)

commit 88e56365ef477817fcc166fce7c57d0e2d24f5d6
Merge: ce75ea7 16b2db6
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Sep 1 09:22:01 2014 +0200

    Merge pull request #91 from jbreams/master
    
    Clean up after using randombytes from libsodium

commit 16b2db606233053420575c140a72edd53814f55b
Author: Jonathan Reams <jbreams@gmail.com>
Date:   Sun Aug 31 14:02:57 2014 -0400

    Clean up after using randombytes from libsodium
    
    When Curve authentication is used, libsodium opens a file
    descriptor to /dev/urandom to generate random bytes. When
    the ZMQ context terminates, it should ensure that file gets
    closed.

 src/ctx.cpp | 10 ++++++++++
 1 file changed, 10 insertions(+)

commit ce75ea74484237966825af1f416ea107a1bf7922
Merge: 37203c4 7413afe
Author: Pieter Hintjens <ph@imatix.com>
Date:   Sun Aug 3 04:01:19 2014 +0200

    Merge pull request #90 from vogonsoft/master
    
    Corrected typo in ZMQ_STREAM example

commit 7413afe6d6c43ada7f6ecbbeec8846750cb8654c
Author: Aleksandar J <aleks@juliet.phub.net.cable.rogers.com>
Date:   Sat Aug 2 18:42:24 2014 -0400

    Corrected typo in ZMQ_STREAM example

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

commit 37203c4964c758b6b6841bc95a7ecc68b9f0b221
Merge: b4f4d23 30ba11d
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Jul 24 07:54:38 2014 +0200

    Merge pull request #89 from ewen-naos-nz/zos
    
    z/OS UNIX System Services port

commit 30ba11d9701e015122fa23719a9212f19879254e
Author: Ewen McNeill <ewen@naos.co.nz>
Date:   Thu Jul 24 11:13:24 2014 +1200

    z/OS: Avoid removing libzmq.pc.in in makeclean

 builds/zos/makeclean | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 85eac38e537ab68bf1bcdcb4978ba6764d2d7d7b
Author: Ewen McNeill <ewen@naos.co.nz>
Date:   Thu Jul 24 10:42:30 2014 +1200

    z/OS: Transferrring from GitHub to z/OS UNIX
    
    Updated:
       builds/zos/README.md: Outlined process to transfer source from
         GitHub to z/OS UNIX System Services, including character set
         conversion for the source

 builds/zos/README.md | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

commit c06ab77c3b64c3432f6d2db0e959b2547ce2ba34
Author: Ewen McNeill <ewen@naos.co.nz>
Date:   Wed Jul 23 13:39:45 2014 +1200

    z/OS: signal(SIGPIPE, SIG_IGN) for tests
    
    Updated:
       tests/testutil.hpp: Add signal(SIGPIPE, SIG_IGN) to
            setup_test_environment(), on z/OS (__MVS__)

 tests/testutil.hpp | 5 +++++
 1 file changed, 5 insertions(+)

commit f35d0b6f8dfd8e822ae741823b67c634e7c6b250
Author: Ewen McNeill <ewen@naos.co.nz>
Date:   Wed Jul 23 13:45:42 2014 +1200

    z/OS: Loop on EAGAIN on close() in ~signaler
    
    Updated:
        src/signaler.cpp: Add close_wait_ms() static function to loop
           when receiving EAGAIN in response to close(), with ms long
           sleeps, up to a maximum limit (default 2000ms == 2 seconds);
           used in signaler_t::~signaler_t() destructor.

 src/signaler.cpp | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 52 insertions(+), 3 deletions(-)

commit 66d258f0e7f386a649b6afb623d0ce2ae89ee755
Author: Ewen McNeill <ewen@naos.co.nz>
Date:   Thu Jul 24 09:28:06 2014 +1200

    z/OS: Make builds/zos scripts executable

 builds/zos/cxxall     | 0
 builds/zos/makeclean  | 0
 builds/zos/makelibzmq | 0
 builds/zos/maketests  | 0
 builds/zos/runtests   | 0
 builds/zos/zc++       | 0
 6 files changed, 0 insertions(+), 0 deletions(-)

commit 1e6036d0df7bb65930707474d863f384c997c938
Author: Ewen McNeill <ewen@naos.co.nz>
Date:   Wed Jul 23 13:09:28 2014 +1200

    z/OS: Documented SIGPIPE considerations
    
    Updated:
        README.md: Documented need for application to handle/ignore SIGPIPE

 builds/zos/README.md | 98 ++++++++++++++++++++++++++++++++++------------------
 1 file changed, 64 insertions(+), 34 deletions(-)

commit 1034bf90c04743c2fdd82fbbd93e09899d208b01
Author: Ewen McNeill <ewen@naos.co.nz>
Date:   Tue Jul 22 16:44:56 2014 +1200

    Extend z/OS UNIX port to allow building DLL
    
    Updated:
       README.md:  describes process of building/using DLL
       makelibzmq: Build DLL as well as static library (unless BUILD_DLL=false)
       maketests:  Dynamically link to ../src/libzmq.so if present
       runtests:   Explicitly place ../src at start of LIBPATH
       makeclean:  Also remove files created for DLL
       cxxall:     Bumped updated date to reflect last edit

 builds/zos/README.md  | 80 +++++++++++++++++++++++++++++++++++++++++++--------
 builds/zos/cxxall     |  2 +-
 builds/zos/makeclean  |  2 +-
 builds/zos/makelibzmq | 28 ++++++++++++++++--
 builds/zos/maketests  | 39 +++++++++++++++++++------
 builds/zos/runtests   |  8 +++++-
 6 files changed, 134 insertions(+), 25 deletions(-)

commit 8454fddf5af39d180b8043e1b4c824e712745c88
Author: Ewen McNeill <ewen@naos.co.nz>
Date:   Tue Jul 22 12:05:51 2014 +1200

    builds/zos/* portability files to z/OS UNIX
    
    builds/zos includes:
        README.md: Overview of z/OS UNIX System Services port (Markdown)
        makelibzmq: Compile src/*.cpp and make libzmq.a
        maketests:  Compile tests/*.cpp and make test_* executables
        runtests:   Run tests/test_* executables and report results
        makeclean:  Remove built files
        zc++: /bin/c++ wrapper supplying required build arguments
        cxxall: run zc++ for all *.cpp files in directory
    
        platform.hpp: pre-generated (and edited) src/platform.hpp for z/OS
        test_fork.cpp: updated tests/test_fork.cpp that completes on z/OS

 builds/zos/README.md     | 285 +++++++++++++++++++++++++++++++++++++++++++++++
 builds/zos/cxxall        |  62 +++++++++++
 builds/zos/makeclean     |  35 ++++++
 builds/zos/makelibzmq    |  30 +++++
 builds/zos/maketests     |  79 +++++++++++++
 builds/zos/platform.hpp  | 277 +++++++++++++++++++++++++++++++++++++++++++++
 builds/zos/runtests      | 210 ++++++++++++++++++++++++++++++++++
 builds/zos/test_fork.cpp |  85 ++++++++++++++
 builds/zos/zc++          |  42 +++++++
 9 files changed, 1105 insertions(+)

commit b4f4d23faf4715a2f823f9f60693847dca41c811
Merge: 678ad54 bc7b0fd
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed Jul 2 21:59:49 2014 +0200

    Merge pull request #87 from guidefloripa/master
    
    Add static compilation on CMake

commit bc7b0fd383db3052e4fce45158daf13590e47e1f
Author: Guilherme Steinmann <guidefloripa@gmail.com>
Date:   Wed Jul 2 10:36:35 2014 -0300

    Add static compilation on CMake

 CMakeLists.txt | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

commit 678ad54a1238cfb09046f440f27924886bcdea0f
Merge: 966c893 03fadb9
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 23 20:25:54 2014 +0200

    Merge pull request #86 from hintjens/master
    
    Fixed typo in doc example

commit 03fadb92b4b9bd58b63b6b8e6fa1bec459f8ab58
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Jun 23 20:25:05 2014 +0200

    Fixed typo in doc example

 NEWS            | 2 ++
 doc/zmq_tcp.txt | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

commit 966c8930b01be7ec68b3d32bdf470923647dd412
Merge: 90dbc10 eaf732c
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Jun 10 15:07:21 2014 +0200

    Merge pull request #84 from hintjens/master
    
    Fix failed assertion for WSAENOTSOCK

commit eaf732c25e6a49f70927d5400de87165db9a152d
Author: Olaf Mandel <o.mandel@menlosystems.com>
Date:   Tue Jun 10 14:45:04 2014 +0200

    Fix failed assertion for WSAENOTSOCK
    
    In de9eef306, the error number assigned to WSAENOTSOCK was EFAULT, but
    zmq.cpp:919 expects an ENOTSOCK in this case.

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

commit 90dbc100c4db6d03de272ce14b73331ade673488
Merge: dd478a0 2c754fc
Author: Pieter Hintjens <ph@imatix.com>
Date:   Wed Jun 4 17:56:39 2014 +0200

    Merge pull request #83 from olafmandel/backport_1072
    
    Extend zmq::wsa_error_to_errno()

commit 2c754fc0a9d71bdc59a896f2a41f1ba48aa9f878
Author: Olaf Mandel <o.mandel@menlosystems.com>
Date:   Wed Jun 4 17:41:03 2014 +0200

    Extend zmq::wsa_error_to_errno()
    
    The list of error codes is taken from zmq::wsa_error_no(). Most of the
    new WSA error codes result in EFAULT, but some return a more specific
    value (even EAGAIN).
    
    Backport of zeromq/libzmq#1072

 src/err.cpp | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 88 insertions(+), 1 deletion(-)

commit dd478a0d20544b09041b5f882df3cfe5758e039c
Merge: 9766baa a6e85de
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 23 10:13:33 2014 +0200

    Merge pull request #82 from hintjens/master
    
    Updated NEWS

commit a6e85ded339f870bbe30a954ca075efb44da62a5
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 23 10:12:08 2014 +0200

    Updated for #1015

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

commit 2dc95612a8d804ec15407beb81e9e3f7822b0da5
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon May 12 16:33:35 2014 +0200

    Updated NEWS

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

commit 9766baa9d331b5e871d688a7d77c7c03568fab59
Merge: bb30e9e d4d26b1
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri May 23 10:10:58 2014 +0200

    Merge pull request #81 from olafmandel/issue_1015
    
    Backport of test and fix for zeromq/libzmq#1015

commit d4d26b1cc02d6f08a229f4a387666e22ebc18e88
Author: Olaf Mandel <o.mandel@menlosystems.com>
Date:   Wed May 21 17:02:01 2014 +0200

    Fix race condition in connecting inproc sockets
    
    This is a backport of libzmq:3678c32b9
    by Martin Hurton <hurtonm@gmail.com>

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

commit a6bd295210a4b03de8c929de178849ea68b604da
Author: Olaf Mandel <o.mandel@menlosystems.com>
Date:   Wed May 21 16:58:01 2014 +0200

    Add failing test reproducing issue #1015.
    
    There is a race condition when connect and bind on a new inproc
    endpoint happen "simultaneously" in threads.  Causes the error:
      Assertion failed: ok (ctx.cpp:474)
    
    This is a backport of libzmq:5cf74db6b
    by Joe Eli McIlvain <joe.eli.mac@gmail.com>

 tests/test_inproc_connect.cpp | 71 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

commit bb30e9efc73cc9b2429f4e9dcaff718882e44a1b
Merge: c639251 550c32e
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon May 12 16:32:57 2014 +0200

    Merge pull request #79 from olafmandel/master
    
    Fix identity handling for inproc transport

commit 550c32ed10f3faf8f35d462f4ef0ab9328d9c90a
Author: Olaf Mandel <o.mandel@menlosystems.com>
Date:   Mon May 12 15:12:48 2014 +0200

    Fix identity handling for inproc transport
    
    Fixes #872
    
    Backport of hurtonm/libzmq@a09407829; included as
    zeromq/libzmq@e376ad278 in development repos.

 src/ctx.cpp         | 15 ++++++---------
 src/pipe.cpp        |  5 +++--
 src/socket_base.cpp | 16 ++++++++++++++--
 3 files changed, 23 insertions(+), 13 deletions(-)

commit c639251c3ed68785470739899cd7e4400b7ee88b
Merge: 4f4723a 6576304
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu May 1 16:31:19 2014 +0200

    Merge pull request #78 from hintjens/master
    
    Fixed issue #994

commit 65763041df9a03a29c4cb07dcf953c5e4c0cc8c4
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu May 1 16:12:51 2014 +0200

    Problem: generates incompatible libzmq.so.3.1.0
    
    See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=743508
    
    The ABI in fact changed in two significant ways, one with inproc
    connects, and one with socket monitoring
    
    Solution: generate libzmq.so.4.0.0 library instead.
    
    This change should be backported to zeromq-4.x
    
    Conflicts:
    	.gitignore

 .gitignore   | 6 ++++++
 configure.ac | 4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)

commit 7a0425be9eacaec3d94724eb9aee06f4c0d2080f
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Apr 29 22:51:48 2014 +0200

    Updated NEWS

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

commit 4f4723a6842933c4971859c22cf770d6a80e06a8
Merge: f3cc00b 2394784
Author: Pieter Hintjens <ph@imatix.com>
Date:   Mon Apr 14 14:02:11 2014 +0200

    Merge pull request #76 from mditzel/master
    
    Fix issue #75

commit 23947849958ca9e399fb9cd6232605e7dfad8c12
Merge: 488cf5e b69cf0d
Author: Maarten Ditzel <maarten.ditzel@tno.nl>
Date:   Mon Apr 14 13:36:57 2014 +0200

    Merge branch 'master' of https://github.com/mditzel/zeromq4-x

commit 488cf5e04c0b64f01e300448df30f9319ca33d8a
Merge: 75fbd4f f3cc00b
Author: Maarten Ditzel <maarten.ditzel@tno.nl>
Date:   Mon Apr 14 11:13:49 2014 +0200

    Merge branch 'master' of https://github.com/zeromq/zeromq4-x

commit b69cf0d70d41eae4315559611273a0604862f953
Merge: 75fbd4f f3cc00b
Author: Maarten Ditzel <maarten.ditzel@tno.nl>
Date:   Mon Apr 14 11:13:49 2014 +0200

    Merge branch 'master' of https://github.com/zeromq/zeromq4-x

commit 75fbd4f8d66c54e12e15d77f1d58d8f4cde31e48
Author: Maarten Ditzel <maarten.ditzel@tno.nl>
Date:   Mon Apr 14 11:01:49 2014 +0200

    Fix issue #75

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

commit 66b49261a8e38df5b06841c45ded5ca6defd4575
Author: Maarten Ditzel <maarten.ditzel@tno.nl>
Date:   Fri Apr 11 10:10:30 2014 +0200

    Fixed link error when cross-compiling with mingw.

 CMakeLists.txt | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

commit f3cc00b4afc7679331fe5a9492078889ebc57d5b
Merge: dd48842 66b4926
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Apr 11 09:51:51 2014 +0200

    Merge pull request #74 from mditzel/master
    
    Fix #73: link error when cross-compiling with mingw.

commit dd488421c827fc79fc8b3261e2d826d02d0f57a8
Merge: e02fd0c 2ae11cd
Author: Pieter Hintjens <ph@imatix.com>
Date:   Thu Apr 3 20:49:35 2014 +0200

    Merge pull request #72 from hintjens/master
    
    Resolve issue #939

commit 2ae11cdc8d0bc798d9338a59cf840470d6c3ad14
Author: Martin Hurton <hurtonm@gmail.com>
Date:   Thu Apr 3 19:49:28 2014 +0200

    Resolve issue #939
    
    This bug is caused by fq which can terminate pipe before sending all
    frames of a message first. So sometimes two messages were mixed and this
    confused ZAP handler.
    
    This patch just modifies one pipe parameter so that socket consumes all
    messages before dropping the pipe.

 src/session_base.cpp | 1 -
 1 file changed, 1 deletion(-)

commit e02fd0ce36cb6745e5272fb08d9d6d140a39aac7
Merge: e2d9aae 612f6ac
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Mar 25 15:22:54 2014 +0100

    Merge pull request #71 from hintjens/master
    
    Added man page for zmq_proxy_steerable

commit 612f6ac86289b11db4ed82b0262a94ab29548ac2
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Mar 25 15:22:01 2014 +0100

    Added man page for zmq_proxy_steerable

 doc/Makefile.am             |  2 +-
 doc/zmq_proxy_steerable.txt | 99 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+), 1 deletion(-)

commit e2d9aaeb8846c692d351332289334a3276fa11bd
Merge: 0da2a0b c83cc01
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Mar 25 07:13:38 2014 +0100

    Merge pull request #70 from hintjens/master
    
    Backported #797

commit c83cc01e03d8b4999ff90614866aeef508637d12
Author: Pieter Hintjens <ph@imatix.com>
Date:   Tue Mar 25 07:13:00 2014 +0100

    Backported #797

 .gitignore                                      |  115 ++
 .hgeol                                          |    2 +
 .travis.yml                                     |   21 +
 AUTHORS                                         |  124 +++
 CMakeLists.txt                                  |  797 ++++++++++++++
 COPYING                                         |  674 ++++++++++++
 COPYING.LESSER                                  |  181 ++++
 INSTALL                                         |  246 +++++
 MAINTAINERS                                     |   56 +
 Makefile.am                                     |   40 +
 NEWS                                            |  562 ++++++++++
 README.md                                       |   44 +
 acinclude.m4                                    |  930 +++++++++++++++++
 autogen.sh                                      |   45 +
 branding.bmp                                    |  Bin 0 -> 25818 bytes
 builds/cmake/Modules/FindAsciiDoc.cmake         |   24 +
 builds/cmake/Modules/TestZMQVersion.cmake       |   18 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake   |  129 +++
 builds/cmake/NSIS.template32.in                 |  952 +++++++++++++++++
 builds/cmake/NSIS.template64.in                 |  960 +++++++++++++++++
 builds/cmake/platform.hpp.in                    |   88 ++
 builds/mingw32/Makefile.mingw32                 |   47 +
 builds/mingw32/platform.hpp                     |   32 +
 builds/msvc/Makefile.am                         |   36 +
 builds/msvc/c_local_lat/c_local_lat.vcproj      |  176 ++++
 builds/msvc/c_local_lat/c_local_lat.vcxproj     |   87 ++
 builds/msvc/c_local_lat/c_local_lat11.vcxproj   |   91 ++
 builds/msvc/c_local_thr/c_local_thr.vcproj      |  178 ++++
 builds/msvc/c_local_thr/c_local_thr.vcxproj     |  107 ++
 builds/msvc/c_local_thr/c_local_thr11.vcxproj   |  111 ++
 builds/msvc/c_remote_lat/c_remote_lat.vcproj    |  176 ++++
 builds/msvc/c_remote_lat/c_remote_lat.vcxproj   |   87 ++
 builds/msvc/c_remote_lat/c_remote_lat11.vcxproj |   91 ++
 builds/msvc/c_remote_thr/c_remote_thr.vcproj    |  178 ++++
 builds/msvc/c_remote_thr/c_remote_thr.vcxproj   |  107 ++
 builds/msvc/c_remote_thr/c_remote_thr11.vcxproj |  111 ++
 builds/msvc/errno.cpp                           |   32 +
 builds/msvc/errno.hpp                           |   56 +
 builds/msvc/inproc_lat/inproc_lat.vcproj        |  176 ++++
 builds/msvc/inproc_lat/inproc_lat.vcxproj       |  106 ++
 builds/msvc/inproc_lat/inproc_lat11.vcxproj     |  110 ++
 builds/msvc/inproc_thr/inproc_thr.vcproj        |  176 ++++
 builds/msvc/inproc_thr/inproc_thr.vcxproj       |  106 ++
 builds/msvc/inproc_thr/inproc_thr11.vcxproj     |  110 ++
 builds/msvc/libzmq/libzmq.vcproj                |  997 ++++++++++++++++++
 builds/msvc/libzmq/libzmq.vcxproj               |  328 ++++++
 builds/msvc/libzmq/libzmq.vcxproj.filters       |  467 +++++++++
 builds/msvc/libzmq/libzmq11.vcxproj             |  362 +++++++
 builds/msvc/msvc.sln                            |   95 ++
 builds/msvc/msvc10.sln                          |  150 +++
 builds/msvc/msvc11.sln                          |  150 +++
 builds/msvc/platform.hpp                        |   32 +
 builds/msvc/properties/Common.props             |   21 +
 builds/msvc/properties/Debug.props              |   19 +
 builds/msvc/properties/Dynamic.props            |   20 +
 builds/msvc/properties/Executable.props         |   19 +
 builds/msvc/properties/Precompiled.props        |   14 +
 builds/msvc/properties/Release.props            |   22 +
 builds/msvc/properties/Static.props             |   15 +
 builds/msvc/properties/Win32.props              |   12 +
 builds/msvc/properties/Win32_Release.props      |   17 +
 builds/msvc/properties/WithOpenPGM.props        |   12 +
 builds/msvc/properties/ZeroMQ.props             |   22 +
 builds/msvc/properties/ZeroMQ_Static.props      |   23 +
 builds/msvc/properties/x64.props                |   12 +
 builds/redhat/zeromq.spec.in                    |  161 +++
 builds/valgrind/valgrind.supp                   |   14 +
 builds/valgrind/vg                              |    1 +
 configure.ac                                    |  487 +++++++++
 doc/Makefile.am                                 |   53 +
 doc/asciidoc.conf                               |   56 +
 doc/zmq.txt                                     |  260 +++++
 doc/zmq_bind.txt                                |  102 ++
 doc/zmq_close.txt                               |   52 +
 doc/zmq_connect.txt                             |  100 ++
 doc/zmq_ctx_destroy.txt                         |   67 ++
 doc/zmq_ctx_get.txt                             |   72 ++
 doc/zmq_ctx_new.txt                             |   50 +
 doc/zmq_ctx_set.txt                             |   87 ++
 doc/zmq_ctx_shutdown.txt                        |   52 +
 doc/zmq_ctx_term.txt                            |   67 ++
 doc/zmq_curve.txt                               |   92 ++
 doc/zmq_curve_keypair.txt                       |   56 +
 doc/zmq_disconnect.txt                          |   67 ++
 doc/zmq_epgm.txt                                |    1 +
 doc/zmq_errno.txt                               |   50 +
 doc/zmq_getsockopt.txt                          |  641 ++++++++++++
 doc/zmq_init.txt                                |   52 +
 doc/zmq_inproc.txt                              |   85 ++
 doc/zmq_ipc.txt                                 |   95 ++
 doc/zmq_msg_close.txt                           |   56 +
 doc/zmq_msg_copy.txt                            |   57 +
 doc/zmq_msg_data.txt                            |   48 +
 doc/zmq_msg_get.txt                             |   73 ++
 doc/zmq_msg_init.txt                            |   65 ++
 doc/zmq_msg_init_data.txt                       |   85 ++
 doc/zmq_msg_init_size.txt                       |   58 ++
 doc/zmq_msg_more.txt                            |   65 ++
 doc/zmq_msg_move.txt                            |   52 +
 doc/zmq_msg_recv.txt                            |  124 +++
 doc/zmq_msg_send.txt                            |  125 +++
 doc/zmq_msg_set.txt                             |   46 +
 doc/zmq_msg_size.txt                            |   48 +
 doc/zmq_null.txt                                |   27 +
 doc/zmq_pgm.txt                                 |  163 +++
 doc/zmq_plain.txt                               |   37 +
 doc/zmq_poll.txt                                |  128 +++
 doc/zmq_proxy.txt                               |   98 ++
 doc/zmq_recv.txt                                |   90 ++
 doc/zmq_recvmsg.txt                             |  121 +++
 doc/zmq_send.txt                                |  102 ++
 doc/zmq_send_const.txt                          |  103 ++
 doc/zmq_sendmsg.txt                             |  119 +++
 doc/zmq_setsockopt.txt                          |  773 ++++++++++++++
 doc/zmq_socket.txt                              |  444 ++++++++
 doc/zmq_socket_monitor.txt                      |  259 +++++
 doc/zmq_strerror.txt                            |   56 +
 doc/zmq_tcp.txt                                 |  103 ++
 doc/zmq_term.txt                                |   66 ++
 doc/zmq_unbind.txt                              |   65 ++
 doc/zmq_version.txt                             |   54 +
 doc/zmq_z85_decode.txt                          |   50 +
 doc/zmq_z85_encode.txt                          |   57 +
 foreign/openpgm/Makefile.am                     |    8 +
 foreign/openpgm/libpgm-5.2.122~dfsg.tar.gz      |  Bin 0 -> 951536 bytes
 include/zmq.h                                   |  417 ++++++++
 include/zmq_utils.h                             |  105 ++
 installer.ico                                   |  Bin 0 -> 2842 bytes
 perf/Makefile.am                                |   22 +
 perf/inproc_lat.cpp                             |  231 ++++
 perf/inproc_thr.cpp                             |  241 +++++
 perf/local_lat.cpp                              |  107 ++
 perf/local_thr.cpp                              |  131 +++
 perf/remote_lat.cpp                             |  120 +++
 perf/remote_thr.cpp                             |   98 ++
 src/Makefile.am                                 |  196 ++++
 src/address.cpp                                 |   77 ++
 src/address.hpp                                 |   51 +
 src/array.hpp                                   |  153 +++
 src/atomic_counter.hpp                          |  205 ++++
 src/atomic_ptr.hpp                              |  202 ++++
 src/blob.hpp                                    |  129 +++
 src/clock.cpp                                   |  200 ++++
 src/clock.hpp                                   |   59 ++
 src/command.hpp                                 |  153 +++
 src/config.hpp                                  |   87 ++
 src/ctx.cpp                                     |  505 +++++++++
 src/ctx.hpp                                     |  204 ++++
 src/curve_client.cpp                            |  410 ++++++++
 src/curve_client.hpp                            |  109 ++
 src/curve_server.cpp                            |  629 +++++++++++
 src/curve_server.hpp                            |  120 +++
 src/dbuffer.hpp                                 |  134 +++
 src/dealer.cpp                                  |  125 +++
 src/dealer.hpp                                  |   78 ++
 src/decoder.hpp                                 |  173 +++
 src/devpoll.cpp                                 |  193 ++++
 src/devpoll.hpp                                 |  105 ++
 src/dist.cpp                                    |  196 ++++
 src/dist.hpp                                    |  104 ++
 src/encoder.hpp                                 |  175 ++++
 src/epoll.cpp                                   |  181 ++++
 src/epoll.hpp                                   |  101 ++
 src/err.cpp                                     |  289 ++++++
 src/err.hpp                                     |  158 +++
 src/fd.hpp                                      |   44 +
 src/fq.cpp                                      |  138 +++
 src/fq.hpp                                      |   72 ++
 src/i_decoder.hpp                               |   51 +
 src/i_encoder.hpp                               |   50 +
 src/i_engine.hpp                                |   55 +
 src/i_poll_events.hpp                           |   45 +
 src/io_object.cpp                               |  106 ++
 src/io_object.hpp                               |   79 ++
 src/io_thread.cpp                               |  102 ++
 src/io_thread.hpp                               |   89 ++
 src/ip.cpp                                      |  149 +++
 src/ip.hpp                                      |   44 +
 src/ipc_address.cpp                             |  106 ++
 src/ipc_address.hpp                             |   66 ++
 src/ipc_connecter.cpp                           |  265 +++++
 src/ipc_connecter.hpp                           |  127 +++
 src/ipc_listener.cpp                            |  211 ++++
 src/ipc_listener.hpp                            |   98 ++
 src/kqueue.cpp                                  |  214 ++++
 src/kqueue.hpp                                  |  113 ++
 src/lb.cpp                                      |  150 +++
 src/lb.hpp                                      |   78 ++
 src/libzmq.pc.cmake.in                          |   10 +
 src/libzmq.pc.in                                |   10 +
 src/libzmq.vers                                 |    4 +
 src/likely.hpp                                  |   32 +
 src/mailbox.cpp                                 |   84 ++
 src/mailbox.hpp                                 |   80 ++
 src/mechanism.cpp                               |  163 +++
 src/mechanism.hpp                               |  101 ++
 src/msg.cpp                                     |  319 ++++++
 src/msg.hpp                                     |  160 +++
 src/mtrie.cpp                                   |  430 ++++++++
 src/mtrie.hpp                                   |   91 ++
 src/mutex.hpp                                   |  157 +++
 src/null_mechanism.cpp                          |  282 +++++
 src/null_mechanism.hpp                          |   65 ++
 src/object.cpp                                  |  419 ++++++++
 src/object.hpp                                  |  137 +++
 src/options.cpp                                 |  634 +++++++++++
 src/options.hpp                                 |  149 +++
 src/own.cpp                                     |  205 ++++
 src/own.hpp                                     |  144 +++
 src/pair.cpp                                    |  119 +++
 src/pair.hpp                                    |   62 ++
 src/pgm_receiver.cpp                            |  296 ++++++
 src/pgm_receiver.hpp                            |  142 +++
 src/pgm_sender.cpp                              |  239 +++++
 src/pgm_sender.hpp                              |  119 +++
 src/pgm_socket.cpp                              |  706 +++++++++++++
 src/pgm_socket.hpp                              |  121 +++
 src/pipe.cpp                                    |  485 +++++++++
 src/pipe.hpp                                    |  216 ++++
 src/plain_mechanism.cpp                         |  482 +++++++++
 src/plain_mechanism.hpp                         |   88 ++
 src/poll.cpp                                    |  179 ++++
 src/poll.hpp                                    |  105 ++
 src/poller.hpp                                  |   80 ++
 src/poller_base.cpp                             |   99 ++
 src/poller_base.hpp                             |   85 ++
 src/precompiled.cpp                             |   20 +
 src/precompiled.hpp                             |   46 +
 src/proxy.cpp                                   |  199 ++++
 src/proxy.hpp                                   |   32 +
 src/pub.cpp                                     |   43 +
 src/pub.hpp                                     |   52 +
 src/pull.cpp                                    |   62 ++
 src/pull.hpp                                    |   64 ++
 src/push.cpp                                    |   62 ++
 src/push.hpp                                    |   63 ++
 src/random.cpp                                  |   51 +
 src/random.hpp                                  |   36 +
 src/raw_decoder.cpp                             |   63 ++
 src/raw_decoder.hpp                             |   66 ++
 src/raw_encoder.cpp                             |   40 +
 src/raw_encoder.hpp                             |   60 ++
 src/reaper.cpp                                  |  127 +++
 src/reaper.hpp                                  |   84 ++
 src/rep.cpp                                     |  123 +++
 src/rep.hpp                                     |   63 ++
 src/req.cpp                                     |  279 +++++
 src/req.hpp                                     |  110 ++
 src/router.cpp                                  |  410 ++++++++
 src/router.hpp                                  |  124 +++
 src/select.cpp                                  |  219 ++++
 src/select.hpp                                  |  126 +++
 src/session_base.cpp                            |  549 ++++++++++
 src/session_base.hpp                            |  163 +++
 src/signaler.cpp                                |  488 +++++++++
 src/signaler.hpp                                |   80 ++
 src/socket_base.cpp                             | 1271 +++++++++++++++++++++++
 src/socket_base.hpp                             |  253 +++++
 src/stdint.hpp                                  |   62 ++
 src/stream.cpp                                  |  257 +++++
 src/stream.hpp                                  |   97 ++
 src/stream_engine.cpp                           |  839 +++++++++++++++
 src/stream_engine.hpp                           |  196 ++++
 src/sub.cpp                                     |   80 ++
 src/sub.hpp                                     |   54 +
 src/tcp.cpp                                     |  143 +++
 src/tcp.hpp                                     |   42 +
 src/tcp_address.cpp                             |  602 +++++++++++
 src/tcp_address.hpp                             |   95 ++
 src/tcp_connecter.cpp                           |  324 ++++++
 src/tcp_connecter.hpp                           |  121 +++
 src/tcp_listener.cpp                            |  304 ++++++
 src/tcp_listener.hpp                            |   89 ++
 src/thread.cpp                                  |  105 ++
 src/thread.hpp                                  |   77 ++
 src/trie.cpp                                    |  334 ++++++
 src/trie.hpp                                    |   76 ++
 src/v1_decoder.cpp                              |  148 +++
 src/v1_decoder.hpp                              |   57 +
 src/v1_encoder.cpp                              |   65 ++
 src/v1_encoder.hpp                              |   49 +
 src/v2_decoder.cpp                              |  142 +++
 src/v2_decoder.hpp                              |   57 +
 src/v2_encoder.cpp                              |   67 ++
 src/v2_encoder.hpp                              |   49 +
 src/v2_protocol.hpp                             |   39 +
 src/version.rc.in                               |   93 ++
 src/windows.hpp                                 |  180 ++++
 src/wire.hpp                                    |   98 ++
 src/xpub.cpp                                    |  191 ++++
 src/xpub.hpp                                    |   94 ++
 src/xsub.cpp                                    |  228 ++++
 src/xsub.hpp                                    |   92 ++
 src/ypipe.hpp                                   |  209 ++++
 src/ypipe_base.hpp                              |   44 +
 src/ypipe_conflate.hpp                          |  127 +++
 src/yqueue.hpp                                  |  195 ++++
 src/zmq.cpp                                     | 1051 +++++++++++++++++++
 src/zmq_utils.cpp                               |  200 ++++
 tests/Makefile.am                               |  104 ++
 tests/test_abstract_ipc.cpp                     |   57 +
 tests/test_conflate.cpp                         |   72 ++
 tests/test_connect_resolve.cpp                  |   53 +
 tests/test_ctx_destroy.cpp                      |   90 ++
 tests/test_ctx_options.cpp                      |   52 +
 tests/test_disconnect_inproc.cpp                |  125 +++
 tests/test_fork.cpp                             |   81 ++
 tests/test_hwm.cpp                              |  299 ++++++
 tests/test_immediate.cpp                        |  228 ++++
 tests/test_inproc_connect.cpp                   |  357 +++++++
 tests/test_invalid_rep.cpp                      |   88 ++
 tests/test_iov.cpp                              |  106 ++
 tests/test_issue_566.cpp                        |   85 ++
 tests/test_last_endpoint.cpp                    |   56 +
 tests/test_linger.cpp                           |   93 ++
 tests/test_many_sockets.cpp                     |   90 ++
 tests/test_monitor.cpp                          |  272 +++++
 tests/test_msg_flags.cpp                        |   79 ++
 tests/test_pair_inproc.cpp                      |   71 ++
 tests/test_pair_ipc.cpp                         |   50 +
 tests/test_pair_tcp.cpp                         |   50 +
 tests/test_probe_router.cpp                     |   72 ++
 tests/test_req_correlate.cpp                    |  177 ++++
 tests/test_req_relaxed.cpp                      |  116 +++
 tests/test_reqrep_device.cpp                    |  135 +++
 tests/test_reqrep_inproc.cpp                    |   50 +
 tests/test_reqrep_ipc.cpp                       |   50 +
 tests/test_reqrep_tcp.cpp                       |   50 +
 tests/test_router_mandatory.cpp                 |   81 ++
 tests/test_router_raw_empty.cpp                 |   65 ++
 tests/test_security_curve.cpp                   |  212 ++++
 tests/test_security_null.cpp                    |  148 +++
 tests/test_security_plain.cpp                   |  150 +++
 tests/test_shutdown_stress.cpp                  |   80 ++
 tests/test_spec_dealer.cpp                      |  254 +++++
 tests/test_spec_pushpull.cpp                    |  293 ++++++
 tests/test_spec_rep.cpp                         |  155 +++
 tests/test_spec_req.cpp                         |  253 +++++
 tests/test_spec_router.cpp                      |  204 ++++
 tests/test_stream.cpp                           |  227 ++++
 tests/test_sub_forward.cpp                      |   91 ++
 tests/test_system.cpp                           |   82 ++
 tests/test_term_endpoint.cpp                    |  104 ++
 tests/test_timeo.cpp                            |   75 ++
 tests/testutil.hpp                              |  279 +++++
 tools/Makefile.am                               |    9 +
 tools/curve_keygen.c                            |   58 ++
 version.sh                                      |   21 +
 348 files changed, 53522 insertions(+)

commit 0da2a0bed6d97682d66506dce04204ac01944656
Author: Pieter Hintjens <ph@imatix.com>
Date:   Fri Mar 21 07:43:14 2014 +0200

    Merge pull request #68 from hintjens/master
    
    Bumped version for next release

 .gitignore                                      |  115 ++
 .hgeol                                          |    2 +
 .travis.yml                                     |   21 +
 AUTHORS                                         |  124 +++
 CMakeLists.txt                                  |  797 ++++++++++++++
 COPYING                                         |  674 ++++++++++++
 COPYING.LESSER                                  |  181 ++++
 INSTALL                                         |  246 +++++
 MAINTAINERS                                     |   56 +
 Makefile.am                                     |   40 +
 NEWS                                            |  556 ++++++++++
 README.md                                       |   44 +
 acinclude.m4                                    |  930 +++++++++++++++++
 autogen.sh                                      |   45 +
 branding.bmp                                    |  Bin 0 -> 25818 bytes
 builds/cmake/Modules/FindAsciiDoc.cmake         |   24 +
 builds/cmake/Modules/TestZMQVersion.cmake       |   18 +
 builds/cmake/Modules/ZMQSourceRunChecks.cmake   |  129 +++
 builds/cmake/NSIS.template32.in                 |  952 +++++++++++++++++
 builds/cmake/NSIS.template64.in                 |  960 +++++++++++++++++
 builds/cmake/platform.hpp.in                    |   88 ++
 builds/mingw32/Makefile.mingw32                 |   47 +
 builds/mingw32/platform.hpp                     |   32 +
 builds/msvc/Makefile.am                         |   36 +
 builds/msvc/c_local_lat/c_local_lat.vcproj      |  176 ++++
 builds/msvc/c_local_lat/c_local_lat.vcxproj     |   87 ++
 builds/msvc/c_local_lat/c_local_lat11.vcxproj   |   91 ++
 builds/msvc/c_local_thr/c_local_thr.vcproj      |  178 ++++
 builds/msvc/c_local_thr/c_local_thr.vcxproj     |  107 ++
 builds/msvc/c_local_thr/c_local_thr11.vcxproj   |  111 ++
 builds/msvc/c_remote_lat/c_remote_lat.vcproj    |  176 ++++
 builds/msvc/c_remote_lat/c_remote_lat.vcxproj   |   87 ++
 builds/msvc/c_remote_lat/c_remote_lat11.vcxproj |   91 ++
 builds/msvc/c_remote_thr/c_remote_thr.vcproj    |  178 ++++
 builds/msvc/c_remote_thr/c_remote_thr.vcxproj   |  107 ++
 builds/msvc/c_remote_thr/c_remote_thr11.vcxproj |  111 ++
 builds/msvc/errno.cpp                           |   32 +
 builds/msvc/errno.hpp                           |   56 +
 builds/msvc/inproc_lat/inproc_lat.vcproj        |  176 ++++
 builds/msvc/inproc_lat/inproc_lat.vcxproj       |  106 ++
 builds/msvc/inproc_lat/inproc_lat11.vcxproj     |  110 ++
 builds/msvc/inproc_thr/inproc_thr.vcproj        |  176 ++++
 builds/msvc/inproc_thr/inproc_thr.vcxproj       |  106 ++
 builds/msvc/inproc_thr/inproc_thr11.vcxproj     |  110 ++
 builds/msvc/libzmq/libzmq.vcproj                |  997 ++++++++++++++++++
 builds/msvc/libzmq/libzmq.vcxproj               |  328 ++++++
 builds/msvc/libzmq/libzmq.vcxproj.filters       |  467 +++++++++
 builds/msvc/libzmq/libzmq11.vcxproj             |  362 +++++++
 builds/msvc/msvc.sln                            |   95 ++
 builds/msvc/msvc10.sln                          |  150 +++
 builds/msvc/msvc11.sln                          |  150 +++
 builds/msvc/platform.hpp                        |   32 +
 builds/msvc/properties/Common.props             |   21 +
 builds/msvc/properties/Debug.props              |   19 +
 builds/msvc/properties/Dynamic.props            |   20 +
 builds/msvc/properties/Executable.props         |   19 +
 builds/msvc/properties/Precompiled.props        |   14 +
 builds/msvc/properties/Release.props            |   22 +
 builds/msvc/properties/Static.props             |   15 +
 builds/msvc/properties/Win32.props              |   12 +
 builds/msvc/properties/Win32_Release.props      |   17 +
 builds/msvc/properties/WithOpenPGM.props        |   12 +
 builds/msvc/properties/ZeroMQ.props             |   22 +
 builds/msvc/properties/ZeroMQ_Static.props      |   23 +
 builds/msvc/properties/x64.props                |   12 +
 builds/redhat/zeromq.spec.in                    |  161 +++
 builds/valgrind/valgrind.supp                   |   14 +
 builds/valgrind/vg                              |    1 +
 configure.ac                                    |  487 +++++++++
 doc/Makefile.am                                 |   53 +
 doc/asciidoc.conf                               |   56 +
 doc/zmq.txt                                     |  260 +++++
 doc/zmq_bind.txt                                |  102 ++
 doc/zmq_close.txt                               |   52 +
 doc/zmq_connect.txt                             |  100 ++
 doc/zmq_ctx_destroy.txt                         |   67 ++
 doc/zmq_ctx_get.txt                             |   72 ++
 doc/zmq_ctx_new.txt                             |   50 +
 doc/zmq_ctx_set.txt                             |   87 ++
 doc/zmq_ctx_shutdown.txt                        |   52 +
 doc/zmq_ctx_term.txt                            |   67 ++
 doc/zmq_curve.txt                               |   92 ++
 doc/zmq_curve_keypair.txt                       |   56 +
 doc/zmq_disconnect.txt                          |   67 ++
 doc/zmq_epgm.txt                                |    1 +
 doc/zmq_errno.txt                               |   50 +
 doc/zmq_getsockopt.txt                          |  641 ++++++++++++
 doc/zmq_init.txt                                |   52 +
 doc/zmq_inproc.txt                              |   85 ++
 doc/zmq_ipc.txt                                 |   95 ++
 doc/zmq_msg_close.txt                           |   56 +
 doc/zmq_msg_copy.txt                            |   57 +
 doc/zmq_msg_data.txt                            |   48 +
 doc/zmq_msg_get.txt                             |   73 ++
 doc/zmq_msg_init.txt                            |   65 ++
 doc/zmq_msg_init_data.txt                       |   85 ++
 doc/zmq_msg_init_size.txt                       |   58 ++
 doc/zmq_msg_more.txt                            |   65 ++
 doc/zmq_msg_move.txt                            |   52 +
 doc/zmq_msg_recv.txt                            |  124 +++
 doc/zmq_msg_send.txt                            |  125 +++
 doc/zmq_msg_set.txt                             |   46 +
 doc/zmq_msg_size.txt                            |   48 +
 doc/zmq_null.txt                                |   27 +
 doc/zmq_pgm.txt                                 |  163 +++
 doc/zmq_plain.txt                               |   37 +
 doc/zmq_poll.txt                                |  128 +++
 doc/zmq_proxy.txt                               |   98 ++
 doc/zmq_recv.txt                                |   90 ++
 doc/zmq_recvmsg.txt                             |  121 +++
 doc/zmq_send.txt                                |  102 ++
 doc/zmq_send_const.txt                          |  103 ++
 doc/zmq_sendmsg.txt                             |  119 +++
 doc/zmq_setsockopt.txt                          |  773 ++++++++++++++
 doc/zmq_socket.txt                              |  444 ++++++++
 doc/zmq_socket_monitor.txt                      |  259 +++++
 doc/zmq_strerror.txt                            |   56 +
 doc/zmq_tcp.txt                                 |  103 ++
 doc/zmq_term.txt                                |   66 ++
 doc/zmq_unbind.txt                              |   65 ++
 doc/zmq_version.txt                             |   54 +
 doc/zmq_z85_decode.txt                          |   50 +
 doc/zmq_z85_encode.txt                          |   57 +
 foreign/openpgm/Makefile.am                     |    8 +
 foreign/openpgm/libpgm-5.2.122~dfsg.tar.gz      |  Bin 0 -> 951536 bytes
 include/zmq.h                                   |  417 ++++++++
 include/zmq_utils.h                             |  105 ++
 installer.ico                                   |  Bin 0 -> 2842 bytes
 perf/Makefile.am                                |   22 +
 perf/inproc_lat.cpp                             |  231 ++++
 perf/inproc_thr.cpp                             |  241 +++++
 perf/local_lat.cpp                              |  107 ++
 perf/local_thr.cpp                              |  131 +++
 perf/remote_lat.cpp                             |  120 +++
 perf/remote_thr.cpp                             |   98 ++
 src/Makefile.am                                 |  196 ++++
 src/address.cpp                                 |   77 ++
 src/address.hpp                                 |   51 +
 src/array.hpp                                   |  153 +++
 src/atomic_counter.hpp                          |  205 ++++
 src/atomic_ptr.hpp                              |  202 ++++
 src/blob.hpp                                    |  129 +++
 src/clock.cpp                                   |  200 ++++
 src/clock.hpp                                   |   59 ++
 src/command.hpp                                 |  153 +++
 src/config.hpp                                  |   87 ++
 src/ctx.cpp                                     |  505 +++++++++
 src/ctx.hpp                                     |  204 ++++
 src/curve_client.cpp                            |  410 ++++++++
 src/curve_client.hpp                            |  109 ++
 src/curve_server.cpp                            |  629 +++++++++++
 src/curve_server.hpp                            |  120 +++
 src/dbuffer.hpp                                 |  134 +++
 src/dealer.cpp                                  |  125 +++
 src/dealer.hpp                                  |   78 ++
 src/decoder.hpp                                 |  173 +++
 src/devpoll.cpp                                 |  193 ++++
 src/devpoll.hpp                                 |  105 ++
 src/dist.cpp                                    |  196 ++++
 src/dist.hpp                                    |  104 ++
 src/encoder.hpp                                 |  175 ++++
 src/epoll.cpp                                   |  181 ++++
 src/epoll.hpp                                   |  101 ++
 src/err.cpp                                     |  289 ++++++
 src/err.hpp                                     |  158 +++
 src/fd.hpp                                      |   44 +
 src/fq.cpp                                      |  138 +++
 src/fq.hpp                                      |   72 ++
 src/i_decoder.hpp                               |   51 +
 src/i_encoder.hpp                               |   50 +
 src/i_engine.hpp                                |   55 +
 src/i_poll_events.hpp                           |   45 +
 src/io_object.cpp                               |  106 ++
 src/io_object.hpp                               |   79 ++
 src/io_thread.cpp                               |  102 ++
 src/io_thread.hpp                               |   89 ++
 src/ip.cpp                                      |  149 +++
 src/ip.hpp                                      |   44 +
 src/ipc_address.cpp                             |  106 ++
 src/ipc_address.hpp                             |   66 ++
 src/ipc_connecter.cpp                           |  265 +++++
 src/ipc_connecter.hpp                           |  127 +++
 src/ipc_listener.cpp                            |  211 ++++
 src/ipc_listener.hpp                            |   98 ++
 src/kqueue.cpp                                  |  214 ++++
 src/kqueue.hpp                                  |  113 ++
 src/lb.cpp                                      |  150 +++
 src/lb.hpp                                      |   78 ++
 src/libzmq.pc.cmake.in                          |   10 +
 src/libzmq.pc.in                                |   10 +
 src/libzmq.vers                                 |    4 +
 src/likely.hpp                                  |   32 +
 src/mailbox.cpp                                 |   84 ++
 src/mailbox.hpp                                 |   80 ++
 src/mechanism.cpp                               |  163 +++
 src/mechanism.hpp                               |  101 ++
 src/msg.cpp                                     |  319 ++++++
 src/msg.hpp                                     |  160 +++
 src/mtrie.cpp                                   |  430 ++++++++
 src/mtrie.hpp                                   |   91 ++
 src/mutex.hpp                                   |  157 +++
 src/null_mechanism.cpp                          |  282 +++++
 src/null_mechanism.hpp                          |   65 ++
 src/object.cpp                                  |  419 ++++++++
 src/object.hpp                                  |  137 +++
 src/options.cpp                                 |  634 +++++++++++
 src/options.hpp                                 |  149 +++
 src/own.cpp                                     |  205 ++++
 src/own.hpp                                     |  144 +++
 src/pair.cpp                                    |  119 +++
 src/pair.hpp                                    |   62 ++
 src/pgm_receiver.cpp                            |  296 ++++++
 src/pgm_receiver.hpp                            |  142 +++
 src/pgm_sender.cpp                              |  239 +++++
 src/pgm_sender.hpp                              |  119 +++
 src/pgm_socket.cpp                              |  706 +++++++++++++
 src/pgm_socket.hpp                              |  121 +++
 src/pipe.cpp                                    |  485 +++++++++
 src/pipe.hpp                                    |  216 ++++
 src/plain_mechanism.cpp                         |  482 +++++++++
 src/plain_mechanism.hpp                         |   88 ++
 src/poll.cpp                                    |  179 ++++
 src/poll.hpp                                    |  105 ++
 src/poller.hpp                                  |   80 ++
 src/poller_base.cpp                             |   99 ++
 src/poller_base.hpp                             |   85 ++
 src/precompiled.cpp                             |   20 +
 src/precompiled.hpp                             |   46 +
 src/proxy.cpp                                   |  199 ++++
 src/proxy.hpp                                   |   32 +
 src/pub.cpp                                     |   43 +
 src/pub.hpp                                     |   52 +
 src/pull.cpp                                    |   62 ++
 src/pull.hpp                                    |   64 ++
 src/push.cpp                                    |   62 ++
 src/push.hpp                                    |   63 ++
 src/random.cpp                                  |   51 +
 src/random.hpp                                  |   36 +
 src/raw_decoder.cpp                             |   63 ++
 src/raw_decoder.hpp                             |   66 ++
 src/raw_encoder.cpp                             |   40 +
 src/raw_encoder.hpp                             |   60 ++
 src/reaper.cpp                                  |  127 +++
 src/reaper.hpp                                  |   84 ++
 src/rep.cpp                                     |  123 +++
 src/rep.hpp                                     |   63 ++
 src/req.cpp                                     |  279 +++++
 src/req.hpp                                     |  110 ++
 src/router.cpp                                  |  410 ++++++++
 src/router.hpp                                  |  124 +++
 src/select.cpp                                  |  219 ++++
 src/select.hpp                                  |  126 +++
 src/session_base.cpp                            |  549 ++++++++++
 src/session_base.hpp                            |  163 +++
 src/signaler.cpp                                |  488 +++++++++
 src/signaler.hpp                                |   80 ++
 src/socket_base.cpp                             | 1271 +++++++++++++++++++++++
 src/socket_base.hpp                             |  253 +++++
 src/stdint.hpp                                  |   62 ++
 src/stream.cpp                                  |  257 +++++
 src/stream.hpp                                  |   97 ++
 src/stream_engine.cpp                           |  839 +++++++++++++++
 src/stream_engine.hpp                           |  196 ++++
 src/sub.cpp                                     |   80 ++
 src/sub.hpp                                     |   54 +
 src/tcp.cpp                                     |  141 +++
 src/tcp.hpp                                     |   42 +
 src/tcp_address.cpp                             |  602 +++++++++++
 src/tcp_address.hpp                             |   95 ++
 src/tcp_connecter.cpp                           |  324 ++++++
 src/tcp_connecter.hpp                           |  121 +++
 src/tcp_listener.cpp                            |  304 ++++++
 src/tcp_listener.hpp                            |   89 ++
 src/thread.cpp                                  |  105 ++
 src/thread.hpp                                  |   77 ++
 src/trie.cpp                                    |  334 ++++++
 src/trie.hpp                                    |   76 ++
 src/v1_decoder.cpp                              |  148 +++
 src/v1_decoder.hpp                              |   57 +
 src/v1_encoder.cpp                              |   65 ++
 src/v1_encoder.hpp                              |   49 +
 src/v2_decoder.cpp                              |  142 +++
 src/v2_decoder.hpp                              |   57 +
 src/v2_encoder.cpp                              |   67 ++
 src/v2_encoder.hpp                              |   49 +
 src/v2_protocol.hpp                             |   39 +
 src/version.rc.in                               |   93 ++
 src/windows.hpp                                 |  180 ++++
 src/wire.hpp                                    |   98 ++
 src/xpub.cpp                                    |  191 ++++
 src/xpub.hpp                                    |   94 ++
 src/xsub.cpp                                    |  228 ++++
 src/xsub.hpp                                    |   92 ++
 src/ypipe.hpp                                   |  209 ++++
 src/ypipe_base.hpp                              |   44 +
 src/ypipe_conflate.hpp                          |  127 +++
 src/yqueue.hpp                                  |  195 ++++
 src/zmq.cpp                                     | 1051 +++++++++++++++++++
 src/zmq_utils.cpp                               |  200 ++++
 tests/Makefile.am                               |  104 ++
 tests/test_abstract_ipc.cpp                     |   57 +
 tests/test_conflate.cpp                         |   72 ++
 tests/test_connect_resolve.cpp                  |   53 +
 tests/test_ctx_destroy.cpp                      |   90 ++
 tests/test_ctx_options.cpp                      |   52 +
 tests/test_disconnect_inproc.cpp                |  125 +++
 tests/test_fork.cpp                             |   81 ++
 tests/test_hwm.cpp                              |  299 ++++++
 tests/test_immediate.cpp                        |  228 ++++
 tests/test_inproc_connect.cpp                   |  357 +++++++
 tests/test_invalid_rep.cpp                      |   88 ++
 tests/test_iov.cpp                              |  106 ++
 tests/test_issue_566.cpp                        |   85 ++
 tests/test_last_endpoint.cpp                    |   56 +
 tests/test_linger.cpp                           |   93 ++
 tests/test_many_sockets.cpp                     |   90 ++
 tests/test_monitor.cpp                          |  272 +++++
 tests/test_msg_flags.cpp                        |   79 ++
 tests/test_pair_inproc.cpp                      |   71 ++
 tests/test_pair_ipc.cpp                         |   50 +
 tests/test_pair_tcp.cpp                         |   50 +
 tests/test_probe_router.cpp                     |   72 ++
 tests/test_req_correlate.cpp                    |  177 ++++
 tests/test_req_relaxed.cpp                      |  116 +++
 tests/test_reqrep_device.cpp                    |  135 +++
 tests/test_reqrep_inproc.cpp                    |   50 +
 tests/test_reqrep_ipc.cpp                       |   50 +
 tests/test_reqrep_tcp.cpp                       |   50 +
 tests/test_router_mandatory.cpp                 |   81 ++
 tests/test_router_raw_empty.cpp                 |   65 ++
 tests/test_security_curve.cpp                   |  212 ++++
 tests/test_security_null.cpp                    |  148 +++
 tests/test_security_plain.cpp                   |  150 +++
 tests/test_shutdown_stress.cpp                  |   80 ++
 tests/test_spec_dealer.cpp                      |  254 +++++
 tests/test_spec_pushpull.cpp                    |  293 ++++++
 tests/test_spec_rep.cpp                         |  155 +++
 tests/test_spec_req.cpp                         |  253 +++++
 tests/test_spec_router.cpp                      |  204 ++++
 tests/test_stream.cpp                           |  227 ++++
 tests/test_sub_forward.cpp                      |   91 ++
 tests/test_system.cpp                           |   82 ++
 tests/test_term_endpoint.cpp                    |  104 ++
 tests/test_timeo.cpp                            |   75 ++
 tests/testutil.hpp                              |  279 +++++
 tools/Makefile.am                               |    9 +
 tools/curve_keygen.c                            |   58 ++
 version.sh                                      |   21 +
 348 files changed, 53514 insertions(+)
