mirror of
https://github.com/zeromq/libzmq.git
synced 2025-08-11 21:18:16 +02:00
Compare commits
274 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c5bd2870c2 | ||
![]() |
2ef080588a | ||
![]() |
7a8a83ba84 | ||
![]() |
b849af44c5 | ||
![]() |
3f7c3c2658 | ||
![]() |
81a68d73dd | ||
![]() |
6c1851efdb | ||
![]() |
83bf40ee1f | ||
![]() |
7d540d6dfe | ||
![]() |
330c682403 | ||
![]() |
4d613cb890 | ||
![]() |
d0b22397eb | ||
![]() |
1b06a5025d | ||
![]() |
783fb45f9d | ||
![]() |
ca69183592 | ||
![]() |
56b71af22d | ||
![]() |
6bbc6b67f6 | ||
![]() |
c369d9bd36 | ||
![]() |
4dd6257d93 | ||
![]() |
3ad076a7a3 | ||
![]() |
81c9c498ee | ||
![]() |
0af39a443f | ||
![]() |
1586f3f25e | ||
![]() |
b315d610b8 | ||
![]() |
2018743b4e | ||
![]() |
dd077bc2b2 | ||
![]() |
e488df7892 | ||
![]() |
02d71a88ab | ||
![]() |
b2eddf9746 | ||
![]() |
3945f27f6d | ||
![]() |
71050259f7 | ||
![]() |
6d92d263e1 | ||
![]() |
1a1abe3d5e | ||
![]() |
1e87d92527 | ||
![]() |
82aed1dee6 | ||
![]() |
197a9e05e2 | ||
![]() |
cf0dcd2379 | ||
![]() |
bf92026527 | ||
![]() |
d8732929d5 | ||
![]() |
bbe4f3ede4 | ||
![]() |
e0041f1fcb | ||
![]() |
98834596f1 | ||
![]() |
5aa7bdfc68 | ||
![]() |
25be170b57 | ||
![]() |
c1d8420335 | ||
![]() |
58badc44c1 | ||
![]() |
4985b084e6 | ||
![]() |
2fba10d691 | ||
![]() |
0b781f84e8 | ||
![]() |
b1a150a675 | ||
![]() |
5977a8a5b6 | ||
![]() |
4d45ee9440 | ||
![]() |
eda5426865 | ||
![]() |
6a66c05179 | ||
![]() |
cb811a1e0c | ||
![]() |
87dd03750b | ||
![]() |
4cee289697 | ||
![]() |
b624f1adc9 | ||
![]() |
49593151db | ||
![]() |
b341dd7ffe | ||
![]() |
2058dece77 | ||
![]() |
45404f4b06 | ||
![]() |
6f4e9f13f3 | ||
![]() |
af3b9452a2 | ||
![]() |
626abbdaf2 | ||
![]() |
d0b341cf0f | ||
![]() |
41cc603d11 | ||
![]() |
ad7fe55e95 | ||
![]() |
e68c2d2563 | ||
![]() |
b539733cee | ||
![]() |
3ae84e6b00 | ||
![]() |
6f022cce92 | ||
![]() |
58ac36593f | ||
![]() |
e3fba7d447 | ||
![]() |
5501f19a0f | ||
![]() |
9bdfb94999 | ||
![]() |
0c5c536303 | ||
![]() |
802c2a8a2b | ||
![]() |
4788c7d2a9 | ||
![]() |
b7a30978ca | ||
![]() |
d1a0baf25f | ||
![]() |
c7642aa434 | ||
![]() |
795a7e3de2 | ||
![]() |
95766dd09c | ||
![]() |
7689bc30b9 | ||
![]() |
0f684ac16c | ||
![]() |
e8095071d9 | ||
![]() |
f13d4f1d04 | ||
![]() |
56835bc833 | ||
![]() |
6933dfff58 | ||
![]() |
6c3f1069aa | ||
![]() |
6548a48bc7 | ||
![]() |
a649a13117 | ||
![]() |
e2a2175f15 | ||
![]() |
b9dbc5b8ca | ||
![]() |
9dd76f68b1 | ||
![]() |
ef8145b25f | ||
![]() |
71bc8bee04 | ||
![]() |
7ee12b527d | ||
![]() |
e4bb5662c0 | ||
![]() |
d89467270e | ||
![]() |
e8577bf1dd | ||
![]() |
849e5b07d9 | ||
![]() |
e1e5a10dd1 | ||
![]() |
7d749ad66a | ||
![]() |
5ee936a9be | ||
![]() |
8c5ca359e8 | ||
![]() |
cb47f02f42 | ||
![]() |
7cfa9f647b | ||
![]() |
af543a58f2 | ||
![]() |
c100ad1dc0 | ||
![]() |
6a88bdb606 | ||
![]() |
30b070a376 | ||
![]() |
550013b9e4 | ||
![]() |
a75b7543e8 | ||
![]() |
89d4e995ef | ||
![]() |
2aa08155f4 | ||
![]() |
28432b562d | ||
![]() |
7bec6c1bdb | ||
![]() |
c41d8aa12b | ||
![]() |
a73740b304 | ||
![]() |
e3e699190f | ||
![]() |
3db502ba47 | ||
![]() |
549ee2401c | ||
![]() |
279bcb2843 | ||
![]() |
759790cadc | ||
![]() |
415916d5f9 | ||
![]() |
cf38d9b7df | ||
![]() |
765b1f24e3 | ||
![]() |
a1fcf2f740 | ||
![]() |
53db7468b6 | ||
![]() |
e39517c9f5 | ||
![]() |
7f45c052c4 | ||
![]() |
b1bdec4404 | ||
![]() |
1cccf94c2e | ||
![]() |
92f2b073be | ||
![]() |
6282d76268 | ||
![]() |
866b02895f | ||
![]() |
073807371c | ||
![]() |
7849d02214 | ||
![]() |
0b4dfd8193 | ||
![]() |
b7226da0d0 | ||
![]() |
74fe8b6125 | ||
![]() |
a9ca06847b | ||
![]() |
7e7ce778ef | ||
![]() |
95b3f204a8 | ||
![]() |
1d0f7b6979 | ||
![]() |
a3f4b4ef78 | ||
![]() |
c78a5fd443 | ||
![]() |
9a63ac7c54 | ||
![]() |
533437a5c0 | ||
![]() |
6b8aae0b54 | ||
![]() |
b0023f0ccf | ||
![]() |
0684a760c9 | ||
![]() |
c8c36f5907 | ||
![]() |
b5d8b360d7 | ||
![]() |
5bd3a0d433 | ||
![]() |
97a0b5dc08 | ||
![]() |
b178072326 | ||
![]() |
3869d7d490 | ||
![]() |
81464652d2 | ||
![]() |
66d32eb04c | ||
![]() |
8a41475b74 | ||
![]() |
982f9ebfdb | ||
![]() |
e740796065 | ||
![]() |
575da3ec7a | ||
![]() |
58d8206c05 | ||
![]() |
d62bf33503 | ||
![]() |
7e89feb7ce | ||
![]() |
f2c32954eb | ||
![]() |
87c888a9c0 | ||
![]() |
b2f788135a | ||
![]() |
9be539a1e1 | ||
![]() |
fd7ba4d509 | ||
![]() |
a2e6e12b6c | ||
![]() |
c75cc9ec5b | ||
![]() |
23f68d2b39 | ||
![]() |
4f0fd36410 | ||
![]() |
25cd81b7f3 | ||
![]() |
7515323295 | ||
![]() |
d5a66f7b7d | ||
![]() |
b0a69fc623 | ||
![]() |
203cd808e2 | ||
![]() |
e31c108885 | ||
![]() |
610a956bed | ||
![]() |
7b786b2537 | ||
![]() |
b5a00b76e8 | ||
![]() |
1d18b39c4b | ||
![]() |
3a0f218cae | ||
![]() |
934b599938 | ||
![]() |
d41b1ecdf7 | ||
![]() |
c188667963 | ||
![]() |
1c7b09afaf | ||
![]() |
f5e1c607a5 | ||
![]() |
752338ec87 | ||
![]() |
3ef80cec74 | ||
![]() |
6f75687c9e | ||
![]() |
8e26e4b35c | ||
![]() |
837cc2cd75 | ||
![]() |
7b4c323bfd | ||
![]() |
fee19e26ac | ||
![]() |
f22094b61a | ||
![]() |
ff0380d1f6 | ||
![]() |
6072d3dbdc | ||
![]() |
609ec133b4 | ||
![]() |
160a7efae4 | ||
![]() |
aa2237b8d6 | ||
![]() |
73fa40b9ac | ||
![]() |
2a3379af4d | ||
![]() |
f75ed8565e | ||
![]() |
5b6b850d9a | ||
![]() |
d172875f52 | ||
![]() |
9fe4fb3929 | ||
![]() |
48ed789c18 | ||
![]() |
c6d5c965fa | ||
![]() |
a69a043e14 | ||
![]() |
5e60f18d3a | ||
![]() |
bbecdf397e | ||
![]() |
5afd4e16ed | ||
![]() |
ea3b9c28ae | ||
![]() |
fa277000d0 | ||
![]() |
29b7266041 | ||
![]() |
5229eeef5b | ||
![]() |
712e74eebd | ||
![]() |
89dd9fddaf | ||
![]() |
583a5f9601 | ||
![]() |
20e3a9f535 | ||
![]() |
d206fe2d45 | ||
![]() |
67afb90ba8 | ||
![]() |
79e3de21c3 | ||
![]() |
8f236dc55e | ||
![]() |
4a8bf129b3 | ||
![]() |
c477182735 | ||
![]() |
b272cca3e8 | ||
![]() |
61a3242085 | ||
![]() |
934973acf0 | ||
![]() |
e28b752aad | ||
![]() |
aa91fec015 | ||
![]() |
fffaf6fd42 | ||
![]() |
4cff7bf372 | ||
![]() |
14c94c0df9 | ||
![]() |
56e09c80f8 | ||
![]() |
3c1a710d06 | ||
![]() |
66c8b70c7d | ||
![]() |
b1cba6b8b6 | ||
![]() |
06d5d6010e | ||
![]() |
8a2052cc52 | ||
![]() |
a90183d0de | ||
![]() |
88c9a4e5ec | ||
![]() |
ef71d6f930 | ||
![]() |
ed6bf9f178 | ||
![]() |
acd55c7464 | ||
![]() |
a87c0d495f | ||
![]() |
3b9049f163 | ||
![]() |
3592c1ec1a | ||
![]() |
c0579448d8 | ||
![]() |
0b1b5f283f | ||
![]() |
95fa16f3ef | ||
![]() |
68f16a06ae | ||
![]() |
03c35d2659 | ||
![]() |
966256d1b6 | ||
![]() |
663781fbd4 | ||
![]() |
1251d06dcc | ||
![]() |
bf950e4241 | ||
![]() |
2b36c01870 | ||
![]() |
08a5014e73 | ||
![]() |
7daeb846ec | ||
![]() |
779a2c1e76 | ||
![]() |
f67b723ed4 | ||
![]() |
6f9ad96225 | ||
![]() |
898ef212fa | ||
![]() |
8185c8039e | ||
![]() |
f31aafd63c | ||
![]() |
25af7d9768 |
169
.gitignore
vendored
169
.gitignore
vendored
@ -22,84 +22,89 @@ autom4te.cache
|
|||||||
*~
|
*~
|
||||||
.*~
|
.*~
|
||||||
tools/curve_keygen
|
tools/curve_keygen
|
||||||
tests/test_resource
|
test_resource
|
||||||
tests/test_ipc_wildcard
|
test_ipc_wildcard
|
||||||
tests/test_stream_empty
|
test_stream_empty
|
||||||
tests/test_stream_timeout
|
test_stream_timeout
|
||||||
tests/test_issue_566
|
test_issue_566
|
||||||
tests/test_ctx_destroy
|
test_ctx_destroy
|
||||||
tests/test_term_endpoint
|
test_term_endpoint
|
||||||
tests/test_system
|
test_system
|
||||||
tests/test_monitor
|
test_monitor
|
||||||
tests/test_last_endpoint
|
test_last_endpoint
|
||||||
tests/test_pair_inproc
|
test_pair_inproc
|
||||||
tests/test_pair_ipc
|
test_pair_ipc
|
||||||
tests/test_pair_tcp
|
test_pair_tcp
|
||||||
tests/test_reqrep_inproc
|
test_reqrep_inproc
|
||||||
tests/test_reqrep_ipc
|
test_reqrep_ipc
|
||||||
tests/test_reqrep_tcp
|
test_reqrep_tcp
|
||||||
tests/test_shutdown_stress
|
test_shutdown_stress
|
||||||
tests/test_hwm
|
test_hwm
|
||||||
tests/test_timeo
|
test_timeo
|
||||||
tests/test_reqrep_device
|
test_reqrep_device
|
||||||
tests/test_reqrep_drop
|
test_reqrep_drop
|
||||||
tests/test_sub_forward
|
test_sub_forward
|
||||||
tests/test_invalid_rep
|
test_invalid_rep
|
||||||
tests/test_msg_flags
|
test_msg_flags
|
||||||
tests/test_ts_context
|
test_ts_context
|
||||||
tests/test_connect_resolve
|
test_connect_resolve
|
||||||
tests/test_immediate
|
test_immediate
|
||||||
tests/test_term_endpoint
|
test_term_endpoint
|
||||||
tests/test_router_mandatory
|
test_router_mandatory
|
||||||
tests/test_disconnect_inproc
|
test_disconnect_inproc
|
||||||
tests/test_raw_sock
|
test_unbind_inproc
|
||||||
tests/test_disconnect_inproc
|
test_unbind_wildcard
|
||||||
tests/test_ctx_options
|
test_raw_sock
|
||||||
tests/test_iov
|
test_disconnect_inproc
|
||||||
tests/test_security
|
test_ctx_options
|
||||||
tests/test_security_curve
|
test_iov
|
||||||
tests/test_probe_router
|
test_security
|
||||||
tests/test_stream
|
test_security_curve
|
||||||
tests/test_spec_dealer
|
test_probe_router
|
||||||
tests/test_spec_pushpull
|
test_stream
|
||||||
tests/test_spec_rep
|
test_spec_dealer
|
||||||
tests/test_spec_req
|
test_spec_pushpull
|
||||||
tests/test_spec_router
|
test_spec_rep
|
||||||
tests/test_req_correlate
|
test_spec_req
|
||||||
tests/test_req_relaxed
|
test_spec_router
|
||||||
tests/test_fork
|
test_req_correlate
|
||||||
tests/test_conflate
|
test_req_relaxed
|
||||||
tests/test_inproc_connect
|
test_fork
|
||||||
tests/test_linger
|
test_conflate
|
||||||
tests/test_security_null
|
test_inproc_connect
|
||||||
tests/test_security_plain
|
test_linger
|
||||||
tests/test_proxy
|
test_security_null
|
||||||
tests/test_abstract_ipc
|
test_security_plain
|
||||||
tests/test_filter_ipc
|
test_proxy
|
||||||
tests/test_connect_delay_tipc
|
test_proxy_single_socket
|
||||||
tests/test_pair_tipc
|
test_proxy_terminate
|
||||||
tests/test_reqrep_device_tipc
|
test_abstract_ipc
|
||||||
tests/test_reqrep_tipc
|
test_filter_ipc
|
||||||
tests/test_router_handover
|
test_connect_delay_tipc
|
||||||
tests/test_router_mandatory_tipc
|
test_pair_tipc
|
||||||
tests/test_shutdown_stress_tipc
|
test_reqrep_device_tipc
|
||||||
tests/test_sub_forward_tipc
|
test_reqrep_tipc
|
||||||
tests/test_term_endpoint_tipc
|
test_router_handover
|
||||||
tests/test_many_sockets
|
test_router_mandatory_tipc
|
||||||
tests/test_diffserv
|
test_shutdown_stress_tipc
|
||||||
tests/test_connect_rid
|
test_sub_forward_tipc
|
||||||
tests/test_srcfd
|
test_term_endpoint_tipc
|
||||||
tests/test_stream_disconnect
|
test_many_sockets
|
||||||
tests/test_proxy_chain
|
test_diffserv
|
||||||
tests/test_bind_src_address
|
test_connect_rid
|
||||||
tests/test_metadata
|
test_srcfd
|
||||||
tests/test_id2fd
|
test_stream_disconnect
|
||||||
tests/test_capabilities
|
test_proxy_chain
|
||||||
tests/test_hwm_pubsub
|
test_bind_src_address
|
||||||
tests/test_router_mandatory_hwm
|
test_metadata
|
||||||
tests/test_xpub_nodrop
|
test_id2fd
|
||||||
tests/test*.log
|
test_capabilities
|
||||||
tests/test*.trs
|
test_hwm_pubsub
|
||||||
|
test_router_mandatory_hwm
|
||||||
|
test_xpub_nodrop
|
||||||
|
test_getsockopt_memset
|
||||||
|
test*.log
|
||||||
|
test*.trs
|
||||||
src/platform.hpp*
|
src/platform.hpp*
|
||||||
src/stamp-h1
|
src/stamp-h1
|
||||||
perf/local_lat
|
perf/local_lat
|
||||||
@ -133,3 +138,11 @@ zeromq-*.tar.gz
|
|||||||
zeromq-*.zip
|
zeromq-*.zip
|
||||||
core
|
core
|
||||||
build
|
build
|
||||||
|
test-suite.log
|
||||||
|
curve_keygen
|
||||||
|
inproc_lat
|
||||||
|
inproc_thr
|
||||||
|
local_lat
|
||||||
|
local_thr
|
||||||
|
remote_lat
|
||||||
|
remote_thr
|
||||||
|
46
.travis.yml
46
.travis.yml
@ -2,14 +2,50 @@
|
|||||||
|
|
||||||
language: c
|
language: c
|
||||||
|
|
||||||
|
os:
|
||||||
|
- linux
|
||||||
|
- osx
|
||||||
|
|
||||||
|
sudo: false
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- BUILD_PREFIX=$PWD/tmp
|
||||||
|
- CFLAGS=-I${BUILD_PREFIX}/include
|
||||||
|
- CPPFLAGS=-I${BUILD_PREFIX}/include
|
||||||
|
- CXXFLAGS=-I${BUILD_PREFIX}/include
|
||||||
|
- LDFLAGS=-L${BUILD_PREFIX}/lib
|
||||||
|
- PKG_CONFIG_PATH=${BUILD_PREFIX}/lib/pkgconfig
|
||||||
|
- DISTCHECK_CONFIGURE_FLAGS="--with-libsodium --prefix=${BUILD_PREFIX}"
|
||||||
|
|
||||||
# Build required projects first
|
# Build required projects first
|
||||||
before_script:
|
before_script:
|
||||||
|
- mkdir tmp
|
||||||
# libsodium
|
# libsodium
|
||||||
- git clone git://github.com/jedisct1/libsodium.git
|
- git clone --depth 1 -b stable git://github.com/jedisct1/libsodium.git
|
||||||
- ( cd libsodium; ./autogen.sh; ./configure; make check; sudo make install; sudo ldconfig )
|
- ( cd libsodium; ./autogen.sh; ./configure --prefix=${BUILD_PREFIX}; make check; make install )
|
||||||
|
|
||||||
|
# ZMQ stress tests need more open socket (files) than the usual default
|
||||||
|
# On OSX, it seems the way to set the max files limit is constantly changing, so
|
||||||
|
# try to use all known knobs to ensure compatibility across various versions
|
||||||
|
- if [ $TRAVIS_OS_NAME == "osx" ] ; then sudo sysctl -w kern.maxfiles=64000 ; sudo sysctl -w kern.maxfilesperproc=64000 ; sudo launchctl limit maxfiles 64000 64000 ; fi ; ulimit -n 64000
|
||||||
|
|
||||||
# Build and check this project
|
# Build and check this project
|
||||||
script:
|
script:
|
||||||
- ./autogen.sh && ./configure && make && make check
|
- ./autogen.sh && ./configure --with-libsodium --prefix=${BUILD_PREFIX} && make distcheck
|
||||||
- sudo make install
|
|
||||||
|
# Deploy tags
|
||||||
|
before_deploy:
|
||||||
|
- . ./ci_deploy.sh
|
||||||
|
deploy:
|
||||||
|
provider: releases
|
||||||
|
api_key:
|
||||||
|
secure: "C+hbVQQL62twHIit4vjExT908acpjQzxPvCgnKKVdEYm58+rXVvQ4HzOlNve7py522m/2iazwnJDX5bPskES5Kof3jqTJ2hZI9rcFXh1KuEjUojiPwix/mUnxFYcxS4PhgmyqG3z5YUsEXnDhwkOwsAVnQIJUFV1XAWMWwDCilI="
|
||||||
|
file_glob: true
|
||||||
|
file: ${ZEROMQ41_DEPLOYMENT}
|
||||||
|
skip_cleanup: true
|
||||||
|
on:
|
||||||
|
repo: zeromq/zeromq4-1
|
||||||
|
branch: master
|
||||||
|
tags: true
|
||||||
|
condition: "$TRAVIS_OS_NAME =~ (linux)"
|
||||||
|
4
AUTHORS
4
AUTHORS
@ -1,7 +1,7 @@
|
|||||||
Corporate Contributors
|
Corporate Contributors
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Copyright (c) 2007-2014 iMatix Corporation
|
Copyright (c) 2007-2015 iMatix Corporation
|
||||||
Copyright (c) 2009-2011 250bpm s.r.o.
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2010-2011 Miru Limited
|
Copyright (c) 2010-2011 Miru Limited
|
||||||
Copyright (c) 2011 VMware, Inc.
|
Copyright (c) 2011 VMware, Inc.
|
||||||
@ -59,6 +59,7 @@ Jon Dyte
|
|||||||
Kamil Shakirov
|
Kamil Shakirov
|
||||||
Ken Steele
|
Ken Steele
|
||||||
Laurent Alebarde
|
Laurent Alebarde
|
||||||
|
Luca Boccassi
|
||||||
Marc Rossi
|
Marc Rossi
|
||||||
Mark Barbisan
|
Mark Barbisan
|
||||||
Martin Hurton
|
Martin Hurton
|
||||||
@ -86,6 +87,7 @@ Philip Kovacs
|
|||||||
Pieter Hintjens
|
Pieter Hintjens
|
||||||
Piotr Trojanek
|
Piotr Trojanek
|
||||||
Richard Newton
|
Richard Newton
|
||||||
|
Rik van der Heijden
|
||||||
Robert G. Jakabosky
|
Robert G. Jakabosky
|
||||||
Sebastian Otaegui
|
Sebastian Otaegui
|
||||||
Stefan Radomski
|
Stefan Radomski
|
||||||
|
113
CMakeLists.txt
113
CMakeLists.txt
@ -1,6 +1,6 @@
|
|||||||
# CMake build script for ZeroMQ
|
# CMake build script for ZeroMQ
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8.11)
|
||||||
project(ZeroMQ)
|
project(ZeroMQ)
|
||||||
|
|
||||||
option(WITH_OPENPGM "Build with support for OpenPGM" OFF)
|
option(WITH_OPENPGM "Build with support for OpenPGM" OFF)
|
||||||
@ -9,31 +9,46 @@ if(APPLE)
|
|||||||
option(ZMQ_BUILD_FRAMEWORK "Build as OS X framework" ON)
|
option(ZMQ_BUILD_FRAMEWORK "Build as OS X framework" ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
option(WITH_TWEETNACL "Build with tweetnacl" OFF)
|
|
||||||
else()
|
|
||||||
option(WITH_TWEETNACL "Build with tweetnacl" ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(WITH_TWEETNACL)
|
# Select curve encryption library, defaults to tweetnacl
|
||||||
add_definitions(-DHAVE_TWEETNACL -DHAVE_LIBSODIUM)
|
# To use libsodium instead, use --with-libsodium (must be installed)
|
||||||
include_directories(
|
# To disable curve, use --disable-curve
|
||||||
tweetnacl/contrib/randombytes
|
|
||||||
tweetnacl/src
|
|
||||||
)
|
|
||||||
|
|
||||||
set(TWEETNACL_SOURCES
|
option (WITH_LIBSODIUM "Use libsodium instead of built-in tweetnacl" OFF)
|
||||||
tweetnacl/src/tweetnacl.c
|
option (ENABLE_CURVE "Enable CURVE security" ON)
|
||||||
)
|
|
||||||
if(WIN32)
|
|
||||||
else()
|
|
||||||
list(APPEND TWEETNACL_SOURCES tweetnacl/contrib/randombytes/devurandom.c)
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
find_library(SODIUM_FOUND sodium)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
if (NOT ENABLE_CURVE)
|
||||||
|
message (STATUS "CURVE security is disabled")
|
||||||
|
|
||||||
|
elseif (WITH_LIBSODIUM)
|
||||||
|
find_package (Sodium)
|
||||||
|
if (SODIUM_FOUND)
|
||||||
|
message (STATUS "Using libsodium for CURVE security")
|
||||||
|
include_directories (${SODIUM_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
# On Solaris, libsodium depends on libssp
|
||||||
|
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||||
|
target_link_libraries (libzmq ssp)
|
||||||
|
endif ()
|
||||||
|
set (ZMQ_USE_LIBSODIUM 1)
|
||||||
|
set (ZMQ_HAVE_CURVE 1)
|
||||||
|
else ()
|
||||||
|
message (FATAL_ERROR
|
||||||
|
"libsodium is not installed. Install it, then run CMake again")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
else ()
|
||||||
|
message (STATUS "Using tweetnacl for CURVE security")
|
||||||
|
set (ZMQ_USE_TWEETNACL 1)
|
||||||
|
set (ZMQ_HAVE_CURVE 1)
|
||||||
|
set (TWEETNACL_SOURCES tweetnacl/src/tweetnacl.c)
|
||||||
|
if (WIN32)
|
||||||
|
list(APPEND TWEETNACL_SOURCES tweetnacl/contrib/randombytes/winrandom.c)
|
||||||
|
else ()
|
||||||
|
list(APPEND TWEETNACL_SOURCES tweetnacl/contrib/randombytes/devurandom.c)
|
||||||
|
endif ()
|
||||||
|
include_directories (tweetnacl/contrib/randombytes tweetnacl/src)
|
||||||
|
endif ()
|
||||||
|
|
||||||
set(POLLER "" CACHE STRING "Choose polling system. valid values are
|
set(POLLER "" CACHE STRING "Choose polling system. valid values are
|
||||||
kqueue, epoll, devpoll, poll or select [default=autodetect]")
|
kqueue, epoll, devpoll, poll or select [default=autodetect]")
|
||||||
@ -117,10 +132,21 @@ check_include_files(windows.h ZMQ_HAVE_WINDOWS)
|
|||||||
check_include_files(sys/uio.h ZMQ_HAVE_UIO)
|
check_include_files(sys/uio.h ZMQ_HAVE_UIO)
|
||||||
check_include_files(sys/eventfd.h ZMQ_HAVE_EVENTFD)
|
check_include_files(sys/eventfd.h ZMQ_HAVE_EVENTFD)
|
||||||
|
|
||||||
check_library_exists(ws2_32 printf "" HAVE_WS2_32) # TODO: Why doesn't something logical like WSAStartup work?
|
if(MSVC)
|
||||||
check_library_exists(ws2 printf "" HAVE_WS2)
|
# Force stdcall convention
|
||||||
check_library_exists(rpcrt4 printf "" HAVE_RPCRT4) # UuidCreateSequential
|
set(CMAKE_REQUIRED_FLAGS "/Gz")
|
||||||
check_library_exists(iphlpapi printf "" HAVE_IPHLAPI) # GetAdaptersAddresses
|
|
||||||
|
if(MSVC_IDE)
|
||||||
|
set(MSVC_TOOLSET "-${CMAKE_VS_PLATFORM_TOOLSET}")
|
||||||
|
else()
|
||||||
|
set(MSVC_TOOLSET "")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
check_library_exists(ws2_32 WSAGetLastError "" HAVE_WS2_32)
|
||||||
|
check_library_exists(ws2 WSAGetLastError "" HAVE_WS2)
|
||||||
|
check_library_exists(rpcrt4 RpcErrorClearInformation "" HAVE_RPCRT4)
|
||||||
|
check_library_exists(iphlpapi GetAdapterOrderMap "" HAVE_IPHLAPI)
|
||||||
|
unset(CMAKE_REQUIRED_FLAGS)
|
||||||
|
|
||||||
check_cxx_symbol_exists(SO_PEERCRED sys/socket.h ZMQ_HAVE_SO_PEERCRED)
|
check_cxx_symbol_exists(SO_PEERCRED sys/socket.h ZMQ_HAVE_SO_PEERCRED)
|
||||||
check_cxx_symbol_exists(LOCAL_PEERCRED sys/socket.h ZMQ_HAVE_LOCAL_PEERCRED)
|
check_cxx_symbol_exists(LOCAL_PEERCRED sys/socket.h ZMQ_HAVE_LOCAL_PEERCRED)
|
||||||
@ -298,8 +324,8 @@ if(MSVC)
|
|||||||
set(OPENPGM_INCLUDE_DIRS ${OPENPGM_ROOT}/include)
|
set(OPENPGM_INCLUDE_DIRS ${OPENPGM_ROOT}/include)
|
||||||
set(OPENPGM_LIBRARY_DIRS ${OPENPGM_ROOT}/lib)
|
set(OPENPGM_LIBRARY_DIRS ${OPENPGM_ROOT}/lib)
|
||||||
set(OPENPGM_LIBRARIES
|
set(OPENPGM_LIBRARIES
|
||||||
optimized libpgm${_zmq_COMPILER}-mt-${OPENPGM_VERSION_MAJOR}_${OPENPGM_VERSION_MINOR}_${OPENPGM_VERSION_MICRO}.lib
|
optimized libpgm${MSVC_TOOLSET}-mt-${OPENPGM_VERSION_MAJOR}_${OPENPGM_VERSION_MINOR}_${OPENPGM_VERSION_MICRO}.lib
|
||||||
debug libpgm${_zmq_COMPILER}-mt-gd-${OPENPGM_VERSION_MAJOR}_${OPENPGM_VERSION_MINOR}_${OPENPGM_VERSION_MICRO}.lib)
|
debug libpgm${MSVC_TOOLSET}-mt-gd-${OPENPGM_VERSION_MAJOR}_${OPENPGM_VERSION_MINOR}_${OPENPGM_VERSION_MICRO}.lib)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
if(WITH_OPENPGM)
|
if(WITH_OPENPGM)
|
||||||
@ -330,7 +356,9 @@ endif()
|
|||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# default to Release build
|
# default to Release build
|
||||||
|
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
||||||
|
# CMAKE_BUILD_TYPE is not used for multi-configuration generators like Visual Studio/XCode
|
||||||
|
# which instead use CMAKE_CONFIGURATION_TYPES
|
||||||
set(CMAKE_BUILD_TYPE Release CACHE STRING
|
set(CMAKE_BUILD_TYPE Release CACHE STRING
|
||||||
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
|
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
|
||||||
FORCE)
|
FORCE)
|
||||||
@ -355,10 +383,12 @@ if(MSVC)
|
|||||||
|
|
||||||
# Optimization flags.
|
# Optimization flags.
|
||||||
# http://msdn.microsoft.com/en-us/magazine/cc301698.aspx
|
# http://msdn.microsoft.com/en-us/magazine/cc301698.aspx
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
|
if(NOT ${CMAKE_BUILD_TYPE} MATCHES "Debug")
|
||||||
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GL")
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LTCG")
|
||||||
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
|
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /LTCG")
|
||||||
|
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /LTCG")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
@ -437,7 +467,8 @@ set(cxx-sources
|
|||||||
xpub.cpp
|
xpub.cpp
|
||||||
xsub.cpp
|
xsub.cpp
|
||||||
zmq.cpp
|
zmq.cpp
|
||||||
zmq_utils.cpp)
|
zmq_utils.cpp
|
||||||
|
config.hpp)
|
||||||
|
|
||||||
set(rc-sources version.rc)
|
set(rc-sources version.rc)
|
||||||
|
|
||||||
@ -580,14 +611,16 @@ if(MSVC)
|
|||||||
target_link_libraries(libzmq ${OPTIONAL_LIBRARIES})
|
target_link_libraries(libzmq ${OPTIONAL_LIBRARIES})
|
||||||
set_target_properties(libzmq PROPERTIES
|
set_target_properties(libzmq PROPERTIES
|
||||||
PUBLIC_HEADER "${public_headers}"
|
PUBLIC_HEADER "${public_headers}"
|
||||||
RELEASE_POSTFIX "${_zmq_COMPILER}-mt-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
RELEASE_POSTFIX "${MSVC_TOOLSET}-mt-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
||||||
DEBUG_POSTFIX "${_zmq_COMPILER}-mt-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
RELWITHDEBINFO_POSTFIX "${MSVC_TOOLSET}-mt-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
||||||
|
DEBUG_POSTFIX "${MSVC_TOOLSET}-mt-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
||||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
|
||||||
add_library(libzmq-static STATIC ${sources})
|
add_library(libzmq-static STATIC ${sources})
|
||||||
set_target_properties(libzmq-static PROPERTIES
|
set_target_properties(libzmq-static PROPERTIES
|
||||||
PUBLIC_HEADER "${public_headers}"
|
PUBLIC_HEADER "${public_headers}"
|
||||||
RELEASE_POSTFIX "${_zmq_COMPILER}-mt-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
RELEASE_POSTFIX "${MSVC_TOOLSET}-mt-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
||||||
DEBUG_POSTFIX "${_zmq_COMPILER}-mt-sgd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
RELWITHDEBINFO_POSTFIX "${MSVC_TOOLSET}-mt-s-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
||||||
|
DEBUG_POSTFIX "${MSVC_TOOLSET}-mt-sgd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}"
|
||||||
COMPILE_FLAGS "/D ZMQ_STATIC"
|
COMPILE_FLAGS "/D ZMQ_STATIC"
|
||||||
OUTPUT_NAME "libzmq")
|
OUTPUT_NAME "libzmq")
|
||||||
else()
|
else()
|
||||||
@ -697,8 +730,10 @@ if(MSVC)
|
|||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION lib
|
||||||
PUBLIC_HEADER DESTINATION include
|
PUBLIC_HEADER DESTINATION include
|
||||||
COMPONENT SDK)
|
COMPONENT SDK)
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bin/libzmq${_zmq_COMPILER}-mt-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}.pdb DESTINATION lib
|
if(NOT CMAKE_PDB_OUTPUT_DIRECTORY)
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/bin/libzmq${MSVC_TOOLSET}-mt-gd-${ZMQ_VERSION_MAJOR}_${ZMQ_VERSION_MINOR}_${ZMQ_VERSION_PATCH}.pdb DESTINATION lib
|
||||||
COMPONENT SDK)
|
COMPONENT SDK)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
install(TARGETS libzmq
|
install(TARGETS libzmq
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION bin
|
||||||
|
628
Makefile.am
628
Makefile.am
@ -1,26 +1,633 @@
|
|||||||
ACLOCAL_AMFLAGS = -I config
|
ACLOCAL_AMFLAGS = -I config
|
||||||
|
|
||||||
if BUILD_PGM
|
SUBDIRS = doc
|
||||||
SUBDIRS = foreign/openpgm src doc perf tests tools
|
|
||||||
|
DIST_SUBDIRS = doc builds builds/msvc
|
||||||
|
|
||||||
|
pkgconfig_DATA = src/libzmq.pc
|
||||||
|
|
||||||
|
AM_CPPFLAGS = \
|
||||||
|
-I$(top_builddir)/include \
|
||||||
|
-I$(top_srcdir)/include
|
||||||
|
|
||||||
|
#
|
||||||
|
# libraries/binaries
|
||||||
|
#
|
||||||
|
lib_LTLIBRARIES = libzmq.la
|
||||||
|
|
||||||
|
include_HEADERS = \
|
||||||
|
include/zmq.h \
|
||||||
|
include/zmq_utils.h
|
||||||
|
|
||||||
|
libzmq_la_SOURCES = \
|
||||||
|
src/address.cpp \
|
||||||
|
src/address.hpp \
|
||||||
|
src/array.hpp \
|
||||||
|
src/atomic_counter.hpp \
|
||||||
|
src/atomic_ptr.hpp \
|
||||||
|
src/blob.hpp \
|
||||||
|
src/clock.cpp \
|
||||||
|
src/clock.hpp \
|
||||||
|
src/command.hpp \
|
||||||
|
src/config.hpp \
|
||||||
|
src/ctx.cpp \
|
||||||
|
src/ctx.hpp \
|
||||||
|
src/curve_client.cpp \
|
||||||
|
src/curve_client.hpp \
|
||||||
|
src/curve_server.cpp \
|
||||||
|
src/curve_server.hpp \
|
||||||
|
src/dbuffer.hpp \
|
||||||
|
src/dealer.cpp \
|
||||||
|
src/dealer.hpp \
|
||||||
|
src/decoder.hpp \
|
||||||
|
src/devpoll.cpp \
|
||||||
|
src/devpoll.hpp \
|
||||||
|
src/dist.cpp \
|
||||||
|
src/dist.hpp \
|
||||||
|
src/encoder.hpp \
|
||||||
|
src/epoll.cpp \
|
||||||
|
src/epoll.hpp \
|
||||||
|
src/err.cpp \
|
||||||
|
src/err.hpp \
|
||||||
|
src/fd.hpp \
|
||||||
|
src/fq.cpp \
|
||||||
|
src/fq.hpp \
|
||||||
|
src/gssapi_mechanism_base.cpp \
|
||||||
|
src/gssapi_mechanism_base.hpp \
|
||||||
|
src/gssapi_client.cpp \
|
||||||
|
src/gssapi_client.hpp \
|
||||||
|
src/gssapi_server.cpp \
|
||||||
|
src/gssapi_server.hpp \
|
||||||
|
src/i_encoder.hpp \
|
||||||
|
src/i_engine.hpp \
|
||||||
|
src/i_decoder.hpp \
|
||||||
|
src/i_poll_events.hpp \
|
||||||
|
src/io_object.cpp \
|
||||||
|
src/io_object.hpp \
|
||||||
|
src/io_thread.cpp \
|
||||||
|
src/io_thread.hpp \
|
||||||
|
src/ip.cpp \
|
||||||
|
src/ip.hpp \
|
||||||
|
src/ipc_address.cpp \
|
||||||
|
src/ipc_address.hpp \
|
||||||
|
src/ipc_connecter.cpp \
|
||||||
|
src/ipc_connecter.hpp \
|
||||||
|
src/ipc_listener.cpp \
|
||||||
|
src/ipc_listener.hpp \
|
||||||
|
src/kqueue.cpp \
|
||||||
|
src/kqueue.hpp \
|
||||||
|
src/lb.cpp \
|
||||||
|
src/lb.hpp \
|
||||||
|
src/likely.hpp \
|
||||||
|
src/mailbox.cpp \
|
||||||
|
src/mailbox.hpp \
|
||||||
|
src/mechanism.cpp \
|
||||||
|
src/mechanism.hpp \
|
||||||
|
src/metadata.cpp \
|
||||||
|
src/metadata.hpp \
|
||||||
|
src/msg.cpp \
|
||||||
|
src/msg.hpp \
|
||||||
|
src/mtrie.cpp \
|
||||||
|
src/mtrie.hpp \
|
||||||
|
src/mutex.hpp \
|
||||||
|
src/norm_engine.cpp \
|
||||||
|
src/norm_engine.hpp \
|
||||||
|
src/null_mechanism.cpp \
|
||||||
|
src/null_mechanism.hpp \
|
||||||
|
src/object.cpp \
|
||||||
|
src/object.hpp \
|
||||||
|
src/options.cpp \
|
||||||
|
src/options.hpp \
|
||||||
|
src/own.cpp \
|
||||||
|
src/own.hpp \
|
||||||
|
src/pair.cpp \
|
||||||
|
src/pair.hpp \
|
||||||
|
src/pgm_receiver.cpp \
|
||||||
|
src/pgm_receiver.hpp \
|
||||||
|
src/pgm_sender.cpp \
|
||||||
|
src/pgm_sender.hpp \
|
||||||
|
src/pgm_socket.cpp \
|
||||||
|
src/pgm_socket.hpp \
|
||||||
|
src/pipe.cpp \
|
||||||
|
src/pipe.hpp \
|
||||||
|
src/plain_client.cpp \
|
||||||
|
src/plain_client.hpp \
|
||||||
|
src/plain_server.cpp \
|
||||||
|
src/plain_server.hpp \
|
||||||
|
src/platform.hpp \
|
||||||
|
src/poll.cpp \
|
||||||
|
src/poll.hpp \
|
||||||
|
src/poller.hpp \
|
||||||
|
src/poller_base.cpp \
|
||||||
|
src/poller_base.hpp \
|
||||||
|
src/proxy.cpp \
|
||||||
|
src/proxy.hpp \
|
||||||
|
src/pub.cpp \
|
||||||
|
src/pub.hpp \
|
||||||
|
src/pull.cpp \
|
||||||
|
src/pull.hpp \
|
||||||
|
src/push.cpp \
|
||||||
|
src/push.hpp \
|
||||||
|
src/random.cpp \
|
||||||
|
src/random.hpp \
|
||||||
|
src/raw_decoder.cpp \
|
||||||
|
src/raw_decoder.hpp \
|
||||||
|
src/raw_encoder.cpp \
|
||||||
|
src/raw_encoder.hpp \
|
||||||
|
src/reaper.cpp \
|
||||||
|
src/reaper.hpp \
|
||||||
|
src/rep.cpp \
|
||||||
|
src/rep.hpp \
|
||||||
|
src/req.cpp \
|
||||||
|
src/req.hpp \
|
||||||
|
src/router.cpp \
|
||||||
|
src/router.hpp \
|
||||||
|
src/select.cpp \
|
||||||
|
src/select.hpp \
|
||||||
|
src/session_base.cpp \
|
||||||
|
src/session_base.hpp \
|
||||||
|
src/signaler.cpp \
|
||||||
|
src/signaler.hpp \
|
||||||
|
src/socket_base.cpp \
|
||||||
|
src/socket_base.hpp \
|
||||||
|
src/socks.cpp \
|
||||||
|
src/socks.hpp \
|
||||||
|
src/socks_connecter.cpp \
|
||||||
|
src/socks_connecter.hpp \
|
||||||
|
src/stdint.hpp \
|
||||||
|
src/stream.cpp \
|
||||||
|
src/stream.hpp \
|
||||||
|
src/stream_engine.cpp \
|
||||||
|
src/stream_engine.hpp \
|
||||||
|
src/sub.cpp \
|
||||||
|
src/sub.hpp \
|
||||||
|
src/tcp.cpp \
|
||||||
|
src/tcp.hpp \
|
||||||
|
src/tcp_address.cpp \
|
||||||
|
src/tcp_address.hpp \
|
||||||
|
src/tcp_connecter.cpp \
|
||||||
|
src/tcp_connecter.hpp \
|
||||||
|
src/tcp_listener.cpp \
|
||||||
|
src/tcp_listener.hpp \
|
||||||
|
src/thread.cpp \
|
||||||
|
src/thread.hpp \
|
||||||
|
src/tipc_address.cpp \
|
||||||
|
src/tipc_address.hpp \
|
||||||
|
src/tipc_connecter.cpp \
|
||||||
|
src/tipc_connecter.hpp \
|
||||||
|
src/tipc_listener.cpp \
|
||||||
|
src/tipc_listener.hpp \
|
||||||
|
src/trie.cpp \
|
||||||
|
src/trie.hpp \
|
||||||
|
src/v1_decoder.cpp \
|
||||||
|
src/v1_decoder.hpp \
|
||||||
|
src/v2_decoder.cpp \
|
||||||
|
src/v2_decoder.hpp \
|
||||||
|
src/v1_encoder.cpp \
|
||||||
|
src/v1_encoder.hpp \
|
||||||
|
src/v2_encoder.cpp \
|
||||||
|
src/v2_encoder.hpp \
|
||||||
|
src/v2_protocol.hpp \
|
||||||
|
src/windows.hpp \
|
||||||
|
src/wire.hpp \
|
||||||
|
src/xpub.hpp \
|
||||||
|
src/xpub.cpp \
|
||||||
|
src/xsub.cpp \
|
||||||
|
src/xsub.hpp \
|
||||||
|
src/ypipe.hpp \
|
||||||
|
src/ypipe_base.hpp \
|
||||||
|
src/ypipe_conflate.hpp \
|
||||||
|
src/yqueue.hpp \
|
||||||
|
src/zmq.cpp \
|
||||||
|
src/zmq_utils.cpp
|
||||||
|
|
||||||
|
if ON_MINGW
|
||||||
|
libzmq_la_LDFLAGS = \
|
||||||
|
-no-undefined \
|
||||||
|
-avoid-version \
|
||||||
|
-version-info @LTVER@ \
|
||||||
|
@LIBZMQ_EXTRA_LDFLAGS@
|
||||||
else
|
else
|
||||||
SUBDIRS = src doc perf tests tools
|
if ON_ANDROID
|
||||||
|
libzmq_la_LDFLAGS = \
|
||||||
|
-avoid-version \
|
||||||
|
-version-info @LTVER@ \
|
||||||
|
@LIBZMQ_EXTRA_LDFLAGS@
|
||||||
|
else
|
||||||
|
if ON_LINUX
|
||||||
|
libzmq_la_LDFLAGS = \
|
||||||
|
-version-info @LTVER@ \
|
||||||
|
@LIBZMQ_EXTRA_LDFLAGS@ \
|
||||||
|
-Wl,--version-script=$(srcdir)/src/libzmq.vers
|
||||||
|
else
|
||||||
|
libzmq_la_LDFLAGS = \
|
||||||
|
-version-info @LTVER@ \
|
||||||
|
@LIBZMQ_EXTRA_LDFLAGS@ \
|
||||||
|
-Wl
|
||||||
|
endif
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
DIST_SUBDIRS = foreign/openpgm src doc perf tests tools builds/msvc
|
libzmq_la_CPPFLAGS =
|
||||||
|
libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@
|
||||||
|
libzmq_la_LIBADD =
|
||||||
|
|
||||||
|
if USE_LIBSODIUM
|
||||||
|
libzmq_la_CPPFLAGS += ${sodium_CFLAGS}
|
||||||
|
libzmq_la_LIBADD += ${sodium_LIBS}
|
||||||
|
endif
|
||||||
|
|
||||||
|
if USE_TWEETNACL
|
||||||
|
libzmq_la_SOURCES += \
|
||||||
|
tweetnacl/src/tweetnacl.c \
|
||||||
|
tweetnacl/contrib/randombytes/devurandom.c
|
||||||
|
libzmq_la_CXXFLAGS += \
|
||||||
|
-I$(top_builddir)/tweetnacl/contrib/randombytes \
|
||||||
|
-I$(top_builddir)/tweetnacl/src
|
||||||
|
endif
|
||||||
|
|
||||||
|
if HAVE_PGM
|
||||||
|
libzmq_la_CPPFLAGS += ${pgm_CFLAGS}
|
||||||
|
libzmq_la_LIBADD += ${pgm_LIBS}
|
||||||
|
endif
|
||||||
|
|
||||||
|
noinst_PROGRAMS = \
|
||||||
|
local_lat \
|
||||||
|
remote_lat \
|
||||||
|
local_thr \
|
||||||
|
remote_thr \
|
||||||
|
inproc_lat \
|
||||||
|
inproc_thr
|
||||||
|
|
||||||
|
local_lat_LDADD = libzmq.la
|
||||||
|
local_lat_SOURCES = perf/local_lat.cpp
|
||||||
|
|
||||||
|
remote_lat_LDADD = libzmq.la
|
||||||
|
remote_lat_SOURCES = perf/remote_lat.cpp
|
||||||
|
|
||||||
|
local_thr_LDADD = libzmq.la
|
||||||
|
local_thr_SOURCES = perf/local_thr.cpp
|
||||||
|
|
||||||
|
remote_thr_LDADD = libzmq.la
|
||||||
|
remote_thr_SOURCES = perf/remote_thr.cpp
|
||||||
|
|
||||||
|
inproc_lat_LDADD = libzmq.la
|
||||||
|
inproc_lat_SOURCES = perf/inproc_lat.cpp
|
||||||
|
|
||||||
|
inproc_thr_LDADD = libzmq.la
|
||||||
|
inproc_thr_SOURCES = perf/inproc_thr.cpp
|
||||||
|
|
||||||
|
bin_PROGRAMS = curve_keygen
|
||||||
|
|
||||||
|
curve_keygen_LDADD = libzmq.la
|
||||||
|
curve_keygen_SOURCES = tools/curve_keygen.cpp
|
||||||
|
|
||||||
|
#
|
||||||
|
# tests
|
||||||
|
#
|
||||||
|
test_apps = \
|
||||||
|
test_system \
|
||||||
|
test_pair_inproc \
|
||||||
|
test_pair_tcp \
|
||||||
|
test_reqrep_inproc \
|
||||||
|
test_reqrep_tcp \
|
||||||
|
test_hwm \
|
||||||
|
test_hwm_pubsub \
|
||||||
|
test_reqrep_device \
|
||||||
|
test_sub_forward \
|
||||||
|
test_invalid_rep \
|
||||||
|
test_msg_flags \
|
||||||
|
test_connect_resolve \
|
||||||
|
test_immediate \
|
||||||
|
test_last_endpoint \
|
||||||
|
test_term_endpoint \
|
||||||
|
test_srcfd \
|
||||||
|
test_monitor \
|
||||||
|
test_router_mandatory \
|
||||||
|
test_router_mandatory_hwm \
|
||||||
|
test_router_handover \
|
||||||
|
test_probe_router \
|
||||||
|
test_stream \
|
||||||
|
test_stream_empty \
|
||||||
|
test_stream_disconnect \
|
||||||
|
test_stream_timeout \
|
||||||
|
test_disconnect_inproc \
|
||||||
|
test_unbind_inproc \
|
||||||
|
test_unbind_wildcard \
|
||||||
|
test_ctx_options \
|
||||||
|
test_ctx_destroy \
|
||||||
|
test_security_null \
|
||||||
|
test_security_plain \
|
||||||
|
test_security_curve \
|
||||||
|
test_iov \
|
||||||
|
test_spec_req \
|
||||||
|
test_spec_rep \
|
||||||
|
test_spec_dealer \
|
||||||
|
test_spec_router \
|
||||||
|
test_spec_pushpull \
|
||||||
|
test_req_correlate \
|
||||||
|
test_req_relaxed \
|
||||||
|
test_conflate \
|
||||||
|
test_inproc_connect \
|
||||||
|
test_issue_566 \
|
||||||
|
test_proxy \
|
||||||
|
test_proxy_single_socket \
|
||||||
|
test_proxy_terminate \
|
||||||
|
test_getsockopt_memset \
|
||||||
|
test_many_sockets \
|
||||||
|
test_ipc_wildcard \
|
||||||
|
test_diffserv \
|
||||||
|
test_connect_rid \
|
||||||
|
test_bind_src_address \
|
||||||
|
test_metadata \
|
||||||
|
test_capabilities \
|
||||||
|
test_xpub_nodrop
|
||||||
|
|
||||||
|
test_system_SOURCES = tests/test_system.cpp
|
||||||
|
test_system_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_pair_inproc_SOURCES = \
|
||||||
|
tests/test_pair_inproc.cpp \
|
||||||
|
tests/testutil.hpp
|
||||||
|
test_pair_inproc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_pair_tcp_SOURCES = \
|
||||||
|
tests/test_pair_tcp.cpp \
|
||||||
|
tests/testutil.hpp
|
||||||
|
test_pair_tcp_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_reqrep_inproc_SOURCES = \
|
||||||
|
tests/test_reqrep_inproc.cpp \
|
||||||
|
tests/testutil.hpp
|
||||||
|
test_reqrep_inproc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_reqrep_tcp_SOURCES = \
|
||||||
|
tests/test_reqrep_tcp.cpp \
|
||||||
|
tests/testutil.hpp
|
||||||
|
test_reqrep_tcp_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_hwm_SOURCES = tests/test_hwm.cpp
|
||||||
|
test_hwm_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_hwm_pubsub_SOURCES = tests/test_hwm_pubsub.cpp
|
||||||
|
test_hwm_pubsub_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_reqrep_device_SOURCES = tests/test_reqrep_device.cpp
|
||||||
|
test_reqrep_device_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_sub_forward_SOURCES = tests/test_sub_forward.cpp
|
||||||
|
test_sub_forward_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_invalid_rep_SOURCES = tests/test_invalid_rep.cpp
|
||||||
|
test_invalid_rep_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_msg_flags_SOURCES = tests/test_msg_flags.cpp
|
||||||
|
test_msg_flags_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_connect_resolve_SOURCES = tests/test_connect_resolve.cpp
|
||||||
|
test_connect_resolve_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_immediate_SOURCES = tests/test_immediate.cpp
|
||||||
|
test_immediate_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_last_endpoint_SOURCES = tests/test_last_endpoint.cpp
|
||||||
|
test_last_endpoint_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_term_endpoint_SOURCES = tests/test_term_endpoint.cpp
|
||||||
|
test_term_endpoint_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_srcfd_SOURCES = tests/test_srcfd.cpp
|
||||||
|
test_srcfd_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_monitor_SOURCES = tests/test_monitor.cpp
|
||||||
|
test_monitor_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_router_mandatory_SOURCES = tests/test_router_mandatory.cpp
|
||||||
|
test_router_mandatory_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_router_mandatory_hwm_SOURCES = tests/test_router_mandatory_hwm.cpp
|
||||||
|
test_router_mandatory_hwm_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_router_handover_SOURCES = tests/test_router_handover.cpp
|
||||||
|
test_router_handover_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_probe_router_SOURCES = tests/test_probe_router.cpp
|
||||||
|
test_probe_router_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_stream_SOURCES = tests/test_stream.cpp
|
||||||
|
test_stream_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_stream_empty_SOURCES = tests/test_stream_empty.cpp
|
||||||
|
test_stream_empty_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_stream_timeout_SOURCES = tests/test_stream_timeout.cpp
|
||||||
|
test_stream_timeout_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_stream_disconnect_SOURCES = tests/test_stream_disconnect.cpp
|
||||||
|
test_stream_disconnect_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_disconnect_inproc_SOURCES = tests/test_disconnect_inproc.cpp
|
||||||
|
test_disconnect_inproc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_unbind_inproc_SOURCES = tests/test_unbind_inproc.cpp
|
||||||
|
test_unbind_inproc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_unbind_wildcard_SOURCES = tests/test_unbind_wildcard.cpp
|
||||||
|
test_unbind_wildcard_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_ctx_options_SOURCES = tests/test_ctx_options.cpp
|
||||||
|
test_ctx_options_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_iov_SOURCES = tests/test_iov.cpp
|
||||||
|
test_iov_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_ctx_destroy_SOURCES = tests/test_ctx_destroy.cpp
|
||||||
|
test_ctx_destroy_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_security_null_SOURCES = tests/test_security_null.cpp
|
||||||
|
test_security_null_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_security_plain_SOURCES = tests/test_security_plain.cpp
|
||||||
|
test_security_plain_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_security_curve_SOURCES = tests/test_security_curve.cpp
|
||||||
|
test_security_curve_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_spec_req_SOURCES = tests/test_spec_req.cpp
|
||||||
|
test_spec_req_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_spec_rep_SOURCES = tests/test_spec_rep.cpp
|
||||||
|
test_spec_rep_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_spec_dealer_SOURCES = tests/test_spec_dealer.cpp
|
||||||
|
test_spec_dealer_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_spec_router_SOURCES = tests/test_spec_router.cpp
|
||||||
|
test_spec_router_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_spec_pushpull_SOURCES = tests/test_spec_pushpull.cpp
|
||||||
|
test_spec_pushpull_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_req_correlate_SOURCES = tests/test_req_correlate.cpp
|
||||||
|
test_req_correlate_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_req_relaxed_SOURCES = tests/test_req_relaxed.cpp
|
||||||
|
test_req_relaxed_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_conflate_SOURCES = tests/test_conflate.cpp
|
||||||
|
test_conflate_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_inproc_connect_SOURCES = tests/test_inproc_connect.cpp
|
||||||
|
test_inproc_connect_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_issue_566_SOURCES = tests/test_issue_566.cpp
|
||||||
|
test_issue_566_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_proxy_SOURCES = tests/test_proxy.cpp
|
||||||
|
test_proxy_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_proxy_single_socket_SOURCES = tests/test_proxy_single_socket.cpp
|
||||||
|
test_proxy_single_socket_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_proxy_terminate_SOURCES = tests/test_proxy_terminate.cpp
|
||||||
|
test_proxy_terminate_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_getsockopt_memset_SOURCES = tests/test_getsockopt_memset.cpp
|
||||||
|
test_getsockopt_memset_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_many_sockets_SOURCES = tests/test_many_sockets.cpp
|
||||||
|
test_many_sockets_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_ipc_wildcard_SOURCES = tests/test_ipc_wildcard.cpp
|
||||||
|
test_ipc_wildcard_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_diffserv_SOURCES = tests/test_diffserv.cpp
|
||||||
|
test_diffserv_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_connect_rid_SOURCES = tests/test_connect_rid.cpp
|
||||||
|
test_connect_rid_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_bind_src_address_SOURCES = tests/test_bind_src_address.cpp
|
||||||
|
test_bind_src_address_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_metadata_SOURCES = tests/test_metadata.cpp
|
||||||
|
test_metadata_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_capabilities_SOURCES = tests/test_capabilities.cpp
|
||||||
|
test_capabilities_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_xpub_nodrop_SOURCES = tests/test_xpub_nodrop.cpp
|
||||||
|
test_xpub_nodrop_LDADD = libzmq.la
|
||||||
|
|
||||||
|
if !ON_MINGW
|
||||||
|
test_apps += \
|
||||||
|
test_shutdown_stress \
|
||||||
|
test_pair_ipc \
|
||||||
|
test_reqrep_ipc \
|
||||||
|
test_timeo \
|
||||||
|
test_filter_ipc
|
||||||
|
|
||||||
|
test_shutdown_stress_SOURCES = tests/test_shutdown_stress.cpp
|
||||||
|
test_shutdown_stress_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_pair_ipc_SOURCES = \
|
||||||
|
tests/test_pair_ipc.cpp \
|
||||||
|
tests/testutil.hpp
|
||||||
|
test_pair_ipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_reqrep_ipc_SOURCES = \
|
||||||
|
tests/test_reqrep_ipc.cpp \
|
||||||
|
tests/testutil.hpp
|
||||||
|
test_reqrep_ipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_timeo_SOURCES = tests/test_timeo.cpp
|
||||||
|
test_timeo_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_filter_ipc_SOURCES = tests/test_filter_ipc.cpp
|
||||||
|
test_filter_ipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
if HAVE_FORK
|
||||||
|
test_apps += test_fork
|
||||||
|
|
||||||
|
test_fork_SOURCES = tests/test_fork.cpp
|
||||||
|
test_fork_LDADD = libzmq.la
|
||||||
|
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if BUILD_TIPC
|
||||||
|
test_apps += \
|
||||||
|
test_connect_delay_tipc \
|
||||||
|
test_pair_tipc \
|
||||||
|
test_reqrep_device_tipc \
|
||||||
|
test_reqrep_tipc \
|
||||||
|
test_router_mandatory_tipc \
|
||||||
|
test_shutdown_stress_tipc \
|
||||||
|
test_sub_forward_tipc \
|
||||||
|
test_term_endpoint_tipc
|
||||||
|
|
||||||
|
test_connect_delay_tipc_SOURCES = tests/test_connect_delay_tipc.cpp
|
||||||
|
test_connect_delay_tipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_pair_tipc_SOURCES = tests/test_pair_tipc.cpp
|
||||||
|
test_pair_tipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_reqrep_device_tipc_SOURCES = tests/test_reqrep_device_tipc.cpp
|
||||||
|
test_reqrep_device_tipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_reqrep_tipc_SOURCES = tests/test_reqrep_tipc.cpp
|
||||||
|
test_reqrep_tipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_router_mandatory_tipc_SOURCES = tests/test_router_mandatory_tipc.cpp
|
||||||
|
test_router_mandatory_tipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_shutdown_stress_tipc_SOURCES = tests/test_shutdown_stress_tipc.cpp
|
||||||
|
test_shutdown_stress_tipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_sub_forward_tipc_SOURCES = tests/test_sub_forward_tipc.cpp
|
||||||
|
test_sub_forward_tipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
test_term_endpoint_tipc_SOURCES = tests/test_term_endpoint_tipc.cpp
|
||||||
|
test_term_endpoint_tipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ON_LINUX
|
||||||
|
test_apps += test_abstract_ipc
|
||||||
|
|
||||||
|
test_abstract_ipc_SOURCES = tests/test_abstract_ipc.cpp
|
||||||
|
test_abstract_ipc_LDADD = libzmq.la
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
check_PROGRAMS = ${test_apps}
|
||||||
|
|
||||||
|
# Run the test cases
|
||||||
|
TESTS = $(test_apps)
|
||||||
|
XFAIL_TESTS =
|
||||||
|
|
||||||
|
if !ON_LINUX
|
||||||
|
XFAIL_TESTS += test_abstract_ipc
|
||||||
|
endif
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
CMakeLists.txt \
|
CMakeLists.txt \
|
||||||
autogen.sh \
|
autogen.sh \
|
||||||
version.sh \
|
version.sh \
|
||||||
MAINTAINERS \
|
MAINTAINERS \
|
||||||
foreign/openpgm/@pgm_basename@.tar.gz
|
src/libzmq.pc.cmake.in \
|
||||||
|
src/libzmq.vers \
|
||||||
|
tweetnacl \
|
||||||
|
tools/curve_keygen.cpp
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = \
|
MAINTAINERCLEANFILES = \
|
||||||
$(srcdir)/aclocal.m4 \
|
$(srcdir)/aclocal.m4 \
|
||||||
$(srcdir)/autom4te.cache \
|
$(srcdir)/autom4te.cache \
|
||||||
$(srcdir)/configure \
|
$(srcdir)/configure \
|
||||||
`find "$(srcdir)" -type f -name Makefile.in -print`
|
`find "$(srcdir)" -type f -name Makefile.in -print`
|
||||||
|
|
||||||
dist-hook:
|
dist-hook:
|
||||||
|
-rm $(distdir)/src/platform.hpp
|
||||||
@if test -d "$(srcdir)/.git"; \
|
@if test -d "$(srcdir)/.git"; \
|
||||||
then \
|
then \
|
||||||
echo Creating ChangeLog && \
|
echo Creating ChangeLog && \
|
||||||
@ -34,8 +641,7 @@ dist-hook:
|
|||||||
echo A git clone is required to generate a ChangeLog >&2; \
|
echo A git clone is required to generate a ChangeLog >&2; \
|
||||||
fi
|
fi
|
||||||
-cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec
|
-cp $(top_srcdir)/builds/redhat/zeromq.spec $(distdir)/zeromq.spec
|
||||||
-rm -rf $(distdir)/foreign/openpgm/build-staging
|
|
||||||
distclean-local:
|
|
||||||
-rm -rf $(top_srcdir)/foreign/openpgm/build-staging
|
|
||||||
maintainer-clean-local:
|
maintainer-clean-local:
|
||||||
-rm -rf $(top_srcdir)/config
|
-rm -rf $(top_srcdir)/config
|
||||||
|
|
||||||
|
171
NEWS
171
NEWS
@ -1,3 +1,174 @@
|
|||||||
|
0MQ version 4.1.5 stable, released on 2016/06/17
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* Fixed #1673 - CMake on Windows put PDB in wrong directory.
|
||||||
|
|
||||||
|
* Fixed #1723 - Family is not set when resolving NIC on Android.
|
||||||
|
|
||||||
|
* Fixed #1608 - Windows 7 TCP slow start issue.
|
||||||
|
|
||||||
|
* Fixed #1806 - uninitialised read in curve getsockopt.
|
||||||
|
|
||||||
|
* Fixed #1807 - build broken with GCC 6.
|
||||||
|
|
||||||
|
* Fixed #1831 - potential assertion failure with latest libsodium.
|
||||||
|
|
||||||
|
* Fixed #1850 - detection issues with tweetnacl/libsodium.
|
||||||
|
|
||||||
|
* Fixed #1877 - Avoid terminating connections prematurely
|
||||||
|
|
||||||
|
* Fixed #1887 - zmq_bind IPv4 fallback still tries IPv6
|
||||||
|
|
||||||
|
* Fixed #1866 - fails to build on SunOS 5.10 / Solaris 10
|
||||||
|
|
||||||
|
* Fixed #919 - ZMQ_LINGER (related to #1877)
|
||||||
|
|
||||||
|
* Fixed #114 - cannot unbind with same endpoint with IPv6 enabled.
|
||||||
|
|
||||||
|
* Fixed #1952 - CMake scripts not part of release tarballs
|
||||||
|
|
||||||
|
* Fixed #1542 - Fix a crash on Windows when port 5905 is in use.
|
||||||
|
|
||||||
|
* Fixed #2021 - Fix building on sparc32.
|
||||||
|
|
||||||
|
|
||||||
|
0MQ version 4.1.4 stable, released on 2015/12/18
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* Fixed #1315 - socket monitor hangs if bind/setsockopt failed.
|
||||||
|
|
||||||
|
* Fixed #1399 - assertion failure in tcp.cpp after network reconnect.
|
||||||
|
|
||||||
|
* Fixed #1632 - build failure using latest libsodium.
|
||||||
|
|
||||||
|
* Fixed #1644 - assertion failure in msg.cpp:390 on STREAM sockets.
|
||||||
|
|
||||||
|
* Fixed #1661 - does not handle IPv6 link local addresses.
|
||||||
|
|
||||||
|
|
||||||
|
0MQ version 4.1.3 stable, released on 2015/08/17
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* Fixed #1532 - getsockopt ZMQ_RCVMORE now resets all bits instead of only 32
|
||||||
|
|
||||||
|
* Fixed #1445 - zmq::socket_base_t::connect fails on tcp ipv6 address
|
||||||
|
|
||||||
|
|
||||||
|
0MQ version 4.1.2 stable, released on 2015/06/15
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* Added explicit reference to static link exception in every source file.
|
||||||
|
|
||||||
|
* Bumped ABI version to 5:0:0 since 4.1.x changed the ABI.
|
||||||
|
|
||||||
|
* Fixed STDINT event interface macros to work with CZMQ 3.0.
|
||||||
|
|
||||||
|
* Fixed installation of man pages when BUILD_DOC is not set.
|
||||||
|
|
||||||
|
* Fixed #1428 - regression on single-socket proxies.
|
||||||
|
|
||||||
|
|
||||||
|
0MQ version 4.1.1 stable, released on 2015/06/02
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* Fixed #1208 - fix recursion in automake packaging.
|
||||||
|
|
||||||
|
* Fixed #1224 - crash when processing empty unsubscribe message.
|
||||||
|
|
||||||
|
* Fixed #1213 - properties files were missing from source packages.
|
||||||
|
|
||||||
|
* Fixed #1273 - V3 protocol handler vulnerable to downgrade attacks.
|
||||||
|
|
||||||
|
* Fixed #1347 - lack way to get peer address.
|
||||||
|
|
||||||
|
* Fixed #1362 - SUB socket sometimes fails to resubscribe properly.
|
||||||
|
|
||||||
|
* Fixed #1377, #1144 - failed with WSANOTINITIALISED in some cases.
|
||||||
|
|
||||||
|
* Fixed #1389 - PUB, PUSH sockets had slow memory leak.
|
||||||
|
|
||||||
|
* Fixed #1382 - zmq_proxy did not terminate if there were no readers.
|
||||||
|
|
||||||
|
|
||||||
|
0MQ version 4.1.0 rc1, released on 2014/10/14
|
||||||
|
=============================================
|
||||||
|
|
||||||
|
* All issues that were fixed in 4.0.x
|
||||||
|
|
||||||
|
* Improved client reconnection strategy on errors
|
||||||
|
|
||||||
|
* GSSAPI security mechanism
|
||||||
|
|
||||||
|
* SOCKS5 support (ZMQ_SOCKS_PROXY)
|
||||||
|
|
||||||
|
* ZMQ_ROUTER_HANDOVER
|
||||||
|
|
||||||
|
* ZMQ_TOS
|
||||||
|
|
||||||
|
* ZMQ_CONNECT_RID
|
||||||
|
|
||||||
|
* ZMQ_HANDSHAKE_IVL
|
||||||
|
|
||||||
|
* ZMQ_IDENTITY_FD
|
||||||
|
|
||||||
|
* ZMQ_XPUB_NODROP
|
||||||
|
|
||||||
|
* ZMQ_SRCFD and ZMQ_SHARED message options
|
||||||
|
|
||||||
|
* Message metadata -- zmq_msg_gets ()
|
||||||
|
|
||||||
|
* Probe library configuration -- zmq_has ()
|
||||||
|
|
||||||
|
|
||||||
|
0MQ version 4.0.5 stable, released on 2014/10/14
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* Fixed #1191; CURVE mechanism does not verify short term nonces.
|
||||||
|
|
||||||
|
* Fixed #1190; stream_engine is vulnerable to downgrade attacks.
|
||||||
|
|
||||||
|
* Fixed #1088; assertion failure for WSAENOTSOCK on Windows.
|
||||||
|
|
||||||
|
* Fixed #1015; race condition while connecting inproc sockets.
|
||||||
|
|
||||||
|
* Fixed #994; bump so library number to 4.0.0
|
||||||
|
|
||||||
|
* Fixed #939, assertion failed: !more (fq.cpp:99) after many ZAP requests.
|
||||||
|
|
||||||
|
* Fixed #872; lost first part of message over inproc://.
|
||||||
|
|
||||||
|
* Fixed #797, keep-alive on Windows.
|
||||||
|
|
||||||
|
|
||||||
|
0MQ version 4.0.4 stable, released on 2014/03/10
|
||||||
|
================================================
|
||||||
|
|
||||||
|
Bug Fixes
|
||||||
|
---------
|
||||||
|
|
||||||
|
* Fixed #909; out of tree build issue on Linux.
|
||||||
|
|
||||||
|
* Fixed #888; hangs on terminate when inproc connected but never bound.
|
||||||
|
|
||||||
|
* Fixed #868; assertion failure at ip.cpp:137 when using port scanner.
|
||||||
|
|
||||||
|
* Fixed #818; fix timestamp counter on s390/s390x.
|
||||||
|
|
||||||
|
* Fixed #817; only export zmq_* symbols.
|
||||||
|
|
||||||
|
* Fixed #797; fixed setting TCP keepalive on Windows.
|
||||||
|
|
||||||
|
* Fixed #775; compile error on Windows.
|
||||||
|
|
||||||
|
* Fixed #763; when talking to a ZMTP v1 peer (libzmq 2.2), a socket would
|
||||||
|
send an extra identity frame at the start of the connection.
|
||||||
|
|
||||||
|
* Fixed LIBZMQ-576 - Crash closing a socket after zmq_msg_send returns
|
||||||
|
EAGAIN (reverts LIBZMQ-497)
|
||||||
|
|
||||||
|
* Fixed LIBZMQ-584; subscription filters getting lost on reconnection.
|
||||||
|
|
||||||
|
|
||||||
0MQ version 4.0.3 stable, released on 2013/11/24
|
0MQ version 4.0.3 stable, released on 2013/11/24
|
||||||
================================================
|
================================================
|
||||||
|
|
||||||
|
37
README.md
37
README.md
@ -1,17 +1,16 @@
|
|||||||
# ZeroMQ
|
# ZeroMQ
|
||||||
|
|
||||||
[](https://travis-ci.org/zeromq/libzmq)
|
[](https://travis-ci.org/zeromq/zeromq4-1)
|
||||||
|
|
||||||
## Welcome
|
## Welcome
|
||||||
|
|
||||||
The 0MQ lightweight messaging kernel is a library which extends the
|
The ZeroMQ lightweight messaging kernel is a library which extends the
|
||||||
standard socket interfaces with features traditionally provided by
|
standard socket interfaces with features traditionally provided by
|
||||||
specialised messaging middleware products. 0MQ sockets provide an
|
specialised messaging middleware products. ZeroMQ sockets provide an
|
||||||
abstraction of asynchronous message queues, multiple messaging patterns,
|
abstraction of asynchronous message queues, multiple messaging patterns,
|
||||||
message filtering (subscriptions), seamless access to multiple transport
|
message filtering (subscriptions), seamless access to multiple transport
|
||||||
protocols and more.
|
protocols and more.
|
||||||
|
|
||||||
|
|
||||||
## Building and installation
|
## Building and installation
|
||||||
|
|
||||||
See the INSTALL file included with the distribution.
|
See the INSTALL file included with the distribution.
|
||||||
@ -19,7 +18,7 @@ See the INSTALL file included with the distribution.
|
|||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
Extensive documentation is provided with the distribution. Refer to
|
Extensive documentation is provided with the distribution. Refer to
|
||||||
doc/zmq.html, or "man zmq" after you have installed 0MQ on your system.
|
doc/zmq.html, or "man zmq" after you have installed libzmq on your system.
|
||||||
|
|
||||||
Website: http://www.zeromq.org/
|
Website: http://www.zeromq.org/
|
||||||
|
|
||||||
@ -28,11 +27,29 @@ Announcements mailing list: zeromq-announce@lists.zeromq.org
|
|||||||
|
|
||||||
Git repository: http://github.com/zeromq/libzmq
|
Git repository: http://github.com/zeromq/libzmq
|
||||||
|
|
||||||
0MQ developers can also be found on the IRC channel #zeromq, on the
|
ZeroMQ developers can also be found on the IRC channel #zeromq, on the
|
||||||
Freenode network (irc.freenode.net).
|
Freenode network (irc.freenode.net).
|
||||||
|
|
||||||
## Copying
|
## License
|
||||||
|
|
||||||
Free use of this software is granted under the terms of the GNU Lesser General
|
The project license is specified in COPYING and COPYING.LESSER.
|
||||||
Public License (LGPL). For details see the files `COPYING` and `COPYING.LESSER`
|
|
||||||
included with the 0MQ distribution.
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
As a special exception, the Contributors give you permission to link
|
||||||
|
this library with independent modules to produce an executable,
|
||||||
|
regardless of the license terms of these independent modules, and to
|
||||||
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
209
acinclude.m4
209
acinclude.m4
@ -745,20 +745,17 @@ dnl # LIBZMQ_CHECK_POLLER_KQUEUE([action-if-found], [action-if-not-found])
|
|||||||
dnl # Checks kqueue polling system #
|
dnl # Checks kqueue polling system #
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
AC_DEFUN([LIBZMQ_CHECK_POLLER_KQUEUE], [{
|
AC_DEFUN([LIBZMQ_CHECK_POLLER_KQUEUE], [{
|
||||||
AC_LINK_IFELSE(
|
AC_LINK_IFELSE([
|
||||||
[AC_LANG_PROGRAM(
|
AC_LANG_PROGRAM([
|
||||||
[
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/event.h>
|
#include <sys/event.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
],
|
],[[
|
||||||
[[
|
|
||||||
struct kevent t_kev;
|
struct kevent t_kev;
|
||||||
kqueue();
|
kqueue();
|
||||||
]]
|
]])],
|
||||||
)],
|
[$1], [$2]
|
||||||
[libzmq_cv_have_poller_kqueue="yes" ; $1],
|
)
|
||||||
[libzmq_cv_have_poller_kqueue="no" ; $2])
|
|
||||||
}])
|
}])
|
||||||
|
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
@ -767,35 +764,27 @@ dnl # Checks epoll polling system can actually run #
|
|||||||
dnl # For cross-compile, only requires that epoll can link #
|
dnl # For cross-compile, only requires that epoll can link #
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
AC_DEFUN([LIBZMQ_CHECK_POLLER_EPOLL], [{
|
AC_DEFUN([LIBZMQ_CHECK_POLLER_EPOLL], [{
|
||||||
AC_RUN_IFELSE(
|
AC_RUN_IFELSE([
|
||||||
[AC_LANG_PROGRAM(
|
AC_LANG_PROGRAM([
|
||||||
[
|
|
||||||
#include <sys/epoll.h>
|
#include <sys/epoll.h>
|
||||||
],
|
],[[
|
||||||
[[
|
|
||||||
struct epoll_event t_ev;
|
struct epoll_event t_ev;
|
||||||
int r;
|
int r;
|
||||||
r = epoll_create(10);
|
r = epoll_create(10);
|
||||||
return(r < 0);
|
return(r < 0);
|
||||||
]]
|
]])],
|
||||||
)],
|
[$1],[$2],[
|
||||||
[libzmq_cv_have_poller_epoll="yes" ; $1],
|
AC_LINK_IFELSE([
|
||||||
[libzmq_cv_have_poller_epoll="no" ; $2],
|
AC_LANG_PROGRAM([
|
||||||
[
|
|
||||||
AC_LINK_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM(
|
|
||||||
[
|
|
||||||
#include <sys/epoll.h>
|
#include <sys/epoll.h>
|
||||||
],
|
],[[
|
||||||
[[
|
struct epoll_event t_ev;
|
||||||
struct epoll_event t_ev;
|
epoll_create(10);
|
||||||
epoll_create(10);
|
]])],
|
||||||
]]
|
[$1], [$2]
|
||||||
)],
|
)
|
||||||
[libzmq_cv_have_poller_epoll="yes" ; $1],
|
]
|
||||||
[libzmq_cv_have_poller_epoll="no" ; $2])
|
)
|
||||||
|
|
||||||
])
|
|
||||||
}])
|
}])
|
||||||
|
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
@ -803,18 +792,15 @@ dnl # LIBZMQ_CHECK_POLLER_DEVPOLL([action-if-found], [action-if-not-found])
|
|||||||
dnl # Checks devpoll polling system #
|
dnl # Checks devpoll polling system #
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
AC_DEFUN([LIBZMQ_CHECK_POLLER_DEVPOLL], [{
|
AC_DEFUN([LIBZMQ_CHECK_POLLER_DEVPOLL], [{
|
||||||
AC_LINK_IFELSE(
|
AC_LINK_IFELSE([
|
||||||
[AC_LANG_PROGRAM(
|
AC_LANG_PROGRAM([
|
||||||
[
|
|
||||||
#include <sys/devpoll.h>
|
#include <sys/devpoll.h>
|
||||||
],
|
],[[
|
||||||
[[
|
|
||||||
struct pollfd t_devpoll;
|
struct pollfd t_devpoll;
|
||||||
int fd = open("/dev/poll", O_RDWR);
|
int fd = open("/dev/poll", O_RDWR);
|
||||||
]]
|
]])],
|
||||||
)],
|
[$1], [$2]
|
||||||
[libzmq_cv_have_poller_devpoll="yes" ; $1],
|
)
|
||||||
[libzmq_cv_have_poller_devpoll="no" ; $2])
|
|
||||||
}])
|
}])
|
||||||
|
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
@ -822,18 +808,15 @@ dnl # LIBZMQ_CHECK_POLLER_POLL([action-if-found], [action-if-not-found])
|
|||||||
dnl # Checks poll polling system #
|
dnl # Checks poll polling system #
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
AC_DEFUN([LIBZMQ_CHECK_POLLER_POLL], [{
|
AC_DEFUN([LIBZMQ_CHECK_POLLER_POLL], [{
|
||||||
AC_LINK_IFELSE(
|
AC_LINK_IFELSE([
|
||||||
[AC_LANG_PROGRAM(
|
AC_LANG_PROGRAM([
|
||||||
[
|
|
||||||
#include <poll.h>
|
#include <poll.h>
|
||||||
],
|
],[[
|
||||||
[[
|
|
||||||
struct pollfd t_poll;
|
struct pollfd t_poll;
|
||||||
poll(&t_poll, 1, 1);
|
poll(&t_poll, 1, 1);
|
||||||
]]
|
]])],
|
||||||
)],
|
[$1], [$2]
|
||||||
[libzmq_cv_have_poller_poll="yes" ; $1],
|
)
|
||||||
[libzmq_cv_have_poller_poll="no" ; $2])
|
|
||||||
}])
|
}])
|
||||||
|
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
@ -841,9 +824,8 @@ dnl # LIBZMQ_CHECK_POLLER_SELECT([action-if-found], [action-if-not-found])
|
|||||||
dnl # Checks select polling system #
|
dnl # Checks select polling system #
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
AC_DEFUN([LIBZMQ_CHECK_POLLER_SELECT], [{
|
AC_DEFUN([LIBZMQ_CHECK_POLLER_SELECT], [{
|
||||||
AC_LINK_IFELSE(
|
AC_LINK_IFELSE([
|
||||||
[AC_LANG_PROGRAM(
|
AC_LANG_PROGRAM([
|
||||||
[
|
|
||||||
#ifdef ZMQ_HAVE_WINDOWS
|
#ifdef ZMQ_HAVE_WINDOWS
|
||||||
#include "winsock2.h"
|
#include "winsock2.h"
|
||||||
#elif defined ZMQ_HAVE_OPENVMS
|
#elif defined ZMQ_HAVE_OPENVMS
|
||||||
@ -852,79 +834,84 @@ AC_DEFUN([LIBZMQ_CHECK_POLLER_SELECT], [{
|
|||||||
#else
|
#else
|
||||||
#include <sys/select.h>
|
#include <sys/select.h>
|
||||||
#endif
|
#endif
|
||||||
],
|
],[[
|
||||||
[[
|
|
||||||
fd_set t_rfds;
|
fd_set t_rfds;
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
|
|
||||||
FD_ZERO(&t_rfds);
|
FD_ZERO(&t_rfds);
|
||||||
FD_SET(0, &t_rfds);
|
FD_SET(0, &t_rfds);
|
||||||
|
|
||||||
tv.tv_sec = 5;
|
tv.tv_sec = 5;
|
||||||
tv.tv_usec = 0;
|
tv.tv_usec = 0;
|
||||||
|
|
||||||
select(1, &t_rfds, NULL, NULL, &tv);
|
select(1, &t_rfds, NULL, NULL, &tv);
|
||||||
]]
|
]])],
|
||||||
)],
|
[$1],[$2]
|
||||||
[libzmq_cv_have_poller_select="yes" ; $1],
|
)
|
||||||
[libzmq_cv_have_poller_select="no" ; $2])
|
|
||||||
}])
|
}])
|
||||||
|
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
dnl # LIBZMQ_CHECK_POLLER([action-if-found], [action-if-not-found]) #
|
dnl # LIBZMQ_CHECK_POLLER([action-if-found], [action-if-not-found]) #
|
||||||
dnl # Choose polling system #
|
dnl # Choose polling system #
|
||||||
dnl ################################################################################
|
dnl ################################################################################
|
||||||
|
|
||||||
AC_DEFUN([LIBZMQ_CHECK_POLLER], [{
|
AC_DEFUN([LIBZMQ_CHECK_POLLER], [{
|
||||||
|
|
||||||
# Allow user to override poller autodetection
|
# Allow user to override poller autodetection
|
||||||
AC_ARG_WITH([poller], [AS_HELP_STRING([--with-poller],
|
AC_ARG_WITH([poller],
|
||||||
[choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select [default=autodetect]])])
|
[AS_HELP_STRING([--with-poller],
|
||||||
|
[choose polling system manually. Valid values are 'kqueue', 'epoll', 'devpoll', 'poll', 'select', or 'auto'. [default=auto]])])
|
||||||
|
|
||||||
case "${with_poller}" in
|
if test "x$with_poller" == "x"; then
|
||||||
kqueue|epoll|devpoll|poll|select)
|
pollers=auto
|
||||||
# User has chosen polling system
|
else
|
||||||
AC_MSG_CHECKING([for suitable polling system skipped for preselect])
|
pollers=$with_poller
|
||||||
libzmq_cv_poller="${with_poller}"
|
fi
|
||||||
;;
|
if test "$pollers" == "auto"; then
|
||||||
|
# We search for pollers in this order
|
||||||
|
pollers="kqueue epoll devpoll poll select"
|
||||||
|
fi
|
||||||
|
|
||||||
*)
|
# try to find suitable polling system. the order of testing is:
|
||||||
# try to find suitable polling system. the order of testing is:
|
AC_MSG_NOTICE([Choosing polling system from '$pollers'...])
|
||||||
# kqueue -> epoll -> devpoll -> poll -> select
|
poller_found=0
|
||||||
AC_MSG_CHECKING([for suitable polling system])
|
for poller in $pollers; do
|
||||||
for subsystem in kqueue epoll devpoll poll select; do
|
case "$poller" in
|
||||||
|
kqueue)
|
||||||
case "${subsystem}" in
|
LIBZMQ_CHECK_POLLER_KQUEUE([
|
||||||
kqueue)
|
AC_MSG_NOTICE([Using 'kqueue' polling system])
|
||||||
LIBZMQ_CHECK_POLLER_KQUEUE([libzmq_cv_poller=$subsystem], [])
|
AC_DEFINE(ZMQ_USE_KQUEUE, 1, [Use 'kqueue' polling system])
|
||||||
;;
|
poller_found=1
|
||||||
|
])
|
||||||
epoll)
|
;;
|
||||||
LIBZMQ_CHECK_POLLER_EPOLL([libzmq_cv_poller=$subsystem], [])
|
epoll)
|
||||||
;;
|
LIBZMQ_CHECK_POLLER_EPOLL([
|
||||||
|
AC_MSG_NOTICE([Using 'epoll' polling system])
|
||||||
devpoll)
|
AC_DEFINE(ZMQ_USE_EPOLL, 1, [Use 'epoll' polling system])
|
||||||
LIBZMQ_CHECK_POLLER_DEVPOLL([libzmq_cv_poller=$subsystem], [])
|
poller_found=1
|
||||||
;;
|
])
|
||||||
|
;;
|
||||||
poll)
|
devpoll)
|
||||||
LIBZMQ_CHECK_POLLER_POLL([libzmq_cv_poller=$subsystem], [])
|
LIBZMQ_CHECK_POLLER_DEVPOLL([
|
||||||
;;
|
AC_MSG_NOTICE([Using 'devpoll' polling system])
|
||||||
|
AC_DEFINE(ZMQ_USE_DEVPOLL, 1, [Use 'devpoll' polling system])
|
||||||
select)
|
poller_found=1
|
||||||
LIBZMQ_CHECK_POLLER_SELECT([libzmq_cv_poller=$subsystem], [])
|
])
|
||||||
;;
|
;;
|
||||||
esac
|
poll)
|
||||||
|
LIBZMQ_CHECK_POLLER_POLL([
|
||||||
if test "x${libzmq_cv_poller}" != "x"; then
|
AC_MSG_NOTICE([Using 'poll' polling system])
|
||||||
break
|
AC_DEFINE(ZMQ_USE_POLL, 1, [Use 'poll' polling system])
|
||||||
fi
|
poller_found=1
|
||||||
done
|
])
|
||||||
;;
|
;;
|
||||||
esac
|
select)
|
||||||
|
LIBZMQ_CHECK_POLLER_SELECT([
|
||||||
libzmq_cv_poller_flag=`echo "ZMQ_USE_${libzmq_cv_poller}" | tr a-z A-Z`
|
AC_MSG_NOTICE([Using 'select' polling system])
|
||||||
|
AC_DEFINE(ZMQ_USE_SELECT, 1, [Use 'select' polling system])
|
||||||
AS_IF([test "x${libzmq_cv_poller}" != "x"],
|
poller_found=1
|
||||||
[AC_MSG_RESULT([using $libzmq_cv_poller]) ; $1], [AC_MSG_RESULT(no suitable polling system found) ; $2])
|
])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
test $poller_found -eq 1 && break
|
||||||
|
done
|
||||||
|
if test $poller_found -eq 0; then
|
||||||
|
AC_MSG_ERROR([None of '$pollers' are valid pollers on this platform])
|
||||||
|
fi
|
||||||
}])
|
}])
|
||||||
|
|
||||||
|
10
autogen.sh
10
autogen.sh
@ -20,10 +20,14 @@
|
|||||||
|
|
||||||
# Script to generate all required files from fresh git checkout.
|
# Script to generate all required files from fresh git checkout.
|
||||||
|
|
||||||
command -v libtool >/dev/null 2>&1
|
# Debian and Ubuntu do not shipt libtool anymore, but OSX does not ship libtoolize.
|
||||||
|
command -v libtoolize >/dev/null 2>&1
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "autogen.sh: error: could not find libtool. libtool is required to run autogen.sh." 1>&2
|
command -v libtool >/dev/null 2>&1
|
||||||
exit 1
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "autogen.sh: error: could not find libtool. libtool is required to run autogen.sh." 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
command -v autoreconf >/dev/null 2>&1
|
command -v autoreconf >/dev/null 2>&1
|
||||||
|
26
builds/Makefile.am
Normal file
26
builds/Makefile.am
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Specify all build files that have to go into source packages.
|
||||||
|
# msvc directory does its own stuff.
|
||||||
|
|
||||||
|
EXTRA_DIST = \
|
||||||
|
zos/makelibzmq \
|
||||||
|
zos/cxxall \
|
||||||
|
zos/README.md \
|
||||||
|
zos/makeclean \
|
||||||
|
zos/platform.hpp \
|
||||||
|
zos/zc++ \
|
||||||
|
zos/test_fork.cpp \
|
||||||
|
zos/maketests \
|
||||||
|
zos/runtests \
|
||||||
|
mingw32/Makefile.mingw32 \
|
||||||
|
mingw32/platform.hpp \
|
||||||
|
cmake/Modules \
|
||||||
|
cmake/Modules/FindAsciiDoc.cmake \
|
||||||
|
cmake/Modules/TestZMQVersion.cmake \
|
||||||
|
cmake/Modules/ZMQSourceRunChecks.cmake \
|
||||||
|
cmake/NSIS.template32.in \
|
||||||
|
cmake/platform.hpp.in \
|
||||||
|
cmake/NSIS.template64.in \
|
||||||
|
valgrind/valgrind.supp \
|
||||||
|
valgrind/vg \
|
||||||
|
nuget/readme.nuget \
|
||||||
|
nuget/libzmq.autopkg
|
@ -6,17 +6,20 @@
|
|||||||
# A2X_EXECUTABLE - the full path to a2x
|
# A2X_EXECUTABLE - the full path to a2x
|
||||||
# A2X_FOUND - If false, don't attempt to use a2x.
|
# A2X_FOUND - If false, don't attempt to use a2x.
|
||||||
|
|
||||||
|
# CMP0053: Unable to refer to $ENV{PROGRAMFILES(X86)}
|
||||||
|
set(PROGRAMFILESX86 "PROGRAMFILES(X86)")
|
||||||
|
|
||||||
find_program(ASCIIDOC_EXECUTABLE asciidoc asciidoc.py
|
find_program(ASCIIDOC_EXECUTABLE asciidoc asciidoc.py
|
||||||
PATHS "$ENV{ASCIIDOC_ROOT}"
|
PATHS "$ENV{ASCIIDOC_ROOT}"
|
||||||
"$ENV{PROGRAMW6432}/asciidoc"
|
"$ENV{PROGRAMW6432}/asciidoc"
|
||||||
"$ENV{PROGRAMFILES}/asciidoc"
|
"$ENV{PROGRAMFILES}/asciidoc"
|
||||||
"$ENV{PROGRAMFILES(X86)}/asciidoc")
|
"$ENV{${PROGRAMFILESX86}}/asciidoc")
|
||||||
|
|
||||||
find_program(A2X_EXECUTABLE a2x
|
find_program(A2X_EXECUTABLE a2x
|
||||||
PATHS "$ENV{ASCIIDOC_ROOT}"
|
PATHS "$ENV{ASCIIDOC_ROOT}"
|
||||||
"$ENV{PROGRAMW6432}/asciidoc"
|
"$ENV{PROGRAMW6432}/asciidoc"
|
||||||
"$ENV{PROGRAMFILES}/asciidoc"
|
"$ENV{PROGRAMFILES}/asciidoc"
|
||||||
"$ENV{PROGRAMFILES(X86)}/asciidoc")
|
"$ENV{${PROGRAMFILESX86}}/asciidoc")
|
||||||
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
@ -7,12 +7,3 @@ set(ZMQ_VERSION "${ZMQ_VERSION_MAJOR}.${ZMQ_VERSION_MINOR}.${ZMQ_VERSION_PATCH}"
|
|||||||
|
|
||||||
message(STATUS "Detected ZMQ Version - ${ZMQ_VERSION}")
|
message(STATUS "Detected ZMQ Version - ${ZMQ_VERSION}")
|
||||||
|
|
||||||
if(MSVC_VERSION MATCHES "1700")
|
|
||||||
set(_zmq_COMPILER "-v110")
|
|
||||||
elseif(MSVC10)
|
|
||||||
set(_zmq_COMPILER "-v100")
|
|
||||||
elseif(MSVC90)
|
|
||||||
set(_zmq_COMPILER "-v90")
|
|
||||||
else()
|
|
||||||
set(_zmq_COMPILER "")
|
|
||||||
endif()
|
|
||||||
|
@ -1,18 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -72,29 +72,29 @@ PERF_DIST = vs2008/local_lat/local_lat.vcproj \
|
|||||||
vs2013/inproc_lat/inproc_lat.props \
|
vs2013/inproc_lat/inproc_lat.props \
|
||||||
vs2013/inproc_thr/inproc_thr.props
|
vs2013/inproc_thr/inproc_thr.props
|
||||||
|
|
||||||
PROPERTIES_DIST = properties/Common.props
|
PROPERTIES_DIST = properties/Common.props \
|
||||||
properties/DebugDEXE.props
|
properties/DebugDEXE.props \
|
||||||
properties/DebugDLL.props
|
properties/DebugDLL.props \
|
||||||
properties/DebugLEXE.props
|
properties/DebugLEXE.props \
|
||||||
properties/DebugLIB.props
|
properties/DebugLIB.props \
|
||||||
properties/DebugLTCG.props
|
properties/DebugLTCG.props \
|
||||||
properties/Debug.props
|
properties/Debug.props \
|
||||||
properties/DebugSEXE.props
|
properties/DebugSEXE.props \
|
||||||
properties/DLL.props
|
properties/DLL.props \
|
||||||
properties/EXE.props
|
properties/EXE.props \
|
||||||
properties/LIB.props
|
properties/LIB.props \
|
||||||
properties/Link.props
|
properties/Link.props \
|
||||||
properties/LTCG.props
|
properties/LTCG.props \
|
||||||
properties/Messages.props
|
properties/Messages.props \
|
||||||
properties/Output.props
|
properties/Output.props \
|
||||||
properties/ReleaseDEXE.props
|
properties/ReleaseDEXE.props \
|
||||||
properties/ReleaseDLL.props
|
properties/ReleaseDLL.props \
|
||||||
properties/ReleaseLEXE.props
|
properties/ReleaseLEXE.props \
|
||||||
properties/ReleaseLIB.props
|
properties/ReleaseLIB.props \
|
||||||
properties/ReleaseLTCG.props
|
properties/ReleaseLTCG.props \
|
||||||
properties/Release.props
|
properties/Release.props \
|
||||||
properties/ReleaseSEXE.props
|
properties/ReleaseSEXE.props \
|
||||||
properties/Win32.props
|
properties/Win32.props \
|
||||||
properties/x64.props
|
properties/x64.props
|
||||||
|
|
||||||
PRECOMPILED_DIST = ../../src/precompiled.hpp \
|
PRECOMPILED_DIST = ../../src/precompiled.hpp \
|
||||||
|
@ -1,18 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2011 iMatix Corporation
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
Binary file not shown.
@ -11,14 +11,36 @@ Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
|||||||
BuildRequires: gcc, make, gcc-c++, libstdc++-devel, asciidoc, xmlto
|
BuildRequires: gcc, make, gcc-c++, libstdc++-devel, asciidoc, xmlto
|
||||||
Requires: libstdc++
|
Requires: libstdc++
|
||||||
|
|
||||||
%if %{?rhel}%{!?rhel:0} >= 5
|
#
|
||||||
BuildRequires: e2fsprogs-devel
|
# Conditional build options
|
||||||
Requires: e2fsprogs
|
# Default values are:
|
||||||
%endif
|
# --without-libgssapi_krb5
|
||||||
|
# --without-libsodium
|
||||||
|
# --without-pgm
|
||||||
|
#
|
||||||
|
|
||||||
|
# If neither macro exists, use the default value.
|
||||||
|
%{!?_with_libgssapi_krb5: %{!?_without_libgssapi_krb5: %define _without_libgssapi_krb5 --without-liblibgssapi_krb5}}
|
||||||
|
%{!?_with_libsodium: %{!?_without_libsodium: %define _without_libsodium --without-libsodium}}
|
||||||
|
%{!?_with_pgm: %{!?_without_pgm: %define _without_pgm --without-pgm}}
|
||||||
|
|
||||||
|
# It's an error if both --with and --without options are specified
|
||||||
|
%{?_with_libgssapi_krb5: %{?_without_libgssapi_krb5: %{error: both _with_libgssapi_krb5 and _without_libgssapi_krb5}}}
|
||||||
|
%{?_with_libsodium: %{?_without_libsodium: %{error: both _with_libsodium and _without_libsodium}}}
|
||||||
|
%{?_with_pgm: %{?_without_pgm: %{error: both _with_pgm and _without_pgm}}}
|
||||||
|
|
||||||
|
%{?_with_libgssapi_krb5:BuildRequires: krb5-devel}
|
||||||
|
%{?_with_libgssapi_krb5:Requires: krb5-libs}
|
||||||
|
|
||||||
|
%{?_with_libsodium:BuildRequires: libsodium-devel}
|
||||||
|
%{?_with_libsodium:Requires: libsodium}
|
||||||
|
|
||||||
|
%{?_with_pgm:BuildRequires: openpgm-devel}
|
||||||
|
%{?_with_pgm:Requires: openpgm}
|
||||||
|
|
||||||
# Build pgm only on supported archs
|
|
||||||
%ifarch pentium3 pentium4 athlon i386 i486 i586 i686 x86_64
|
%ifarch pentium3 pentium4 athlon i386 i486 i586 i686 x86_64
|
||||||
BuildRequires: python, perl
|
%{!?_with_pic: %{!?_without_pic: %define _with_pic --with-pic}}
|
||||||
|
%{!?_with_gnu_ld: %{!?_without_gnu_ld: %define _with_gnu_ld --with-gnu_ld}}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -50,11 +72,17 @@ This package contains ZeroMQ related development libraries and header files.
|
|||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%ifarch pentium3 pentium4 athlon i386 i486 i586 i686 x86_64
|
%configure \
|
||||||
%configure --with-pgm --with-pic --with-gnu-ld
|
%{?_with_libsodium} \
|
||||||
%else
|
%{?_without_libsodium} \
|
||||||
%configure
|
%{?_with_pgm} \
|
||||||
%endif
|
%{?_without_pgm} \
|
||||||
|
%{?_with_libgssapi_krb5} \
|
||||||
|
%{?_without_libgssapi_krb5} \
|
||||||
|
%{?_with_pic} \
|
||||||
|
%{?_without_pic} \
|
||||||
|
%{?_with_gnu_ld} \
|
||||||
|
%{?_without_gnu_ld}
|
||||||
|
|
||||||
%{__make} %{?_smp_mflags}
|
%{__make} %{?_smp_mflags}
|
||||||
|
|
||||||
@ -84,8 +112,8 @@ This package contains ZeroMQ related development libraries and header files.
|
|||||||
%{_bindir}/curve_keygen
|
%{_bindir}/curve_keygen
|
||||||
|
|
||||||
# libraries
|
# libraries
|
||||||
%{_libdir}/libzmq.so.4
|
%{_libdir}/libzmq.so.5
|
||||||
%{_libdir}/libzmq.so.4.0.0
|
%{_libdir}/libzmq.so.5.0.1
|
||||||
|
|
||||||
%{_mandir}/man7/zmq.7.gz
|
%{_mandir}/man7/zmq.7.gz
|
||||||
|
|
||||||
@ -138,7 +166,6 @@ This package contains ZeroMQ related development libraries and header files.
|
|||||||
%{_mandir}/man3/zmq_has.3.gz
|
%{_mandir}/man3/zmq_has.3.gz
|
||||||
%{_mandir}/man3/zmq_msg_gets.3.gz
|
%{_mandir}/man3/zmq_msg_gets.3.gz
|
||||||
%{_mandir}/man3/zmq_proxy_steerable.3.gz
|
%{_mandir}/man3/zmq_proxy_steerable.3.gz
|
||||||
%{_mandir}/man7/zmq_epgm.7.gz
|
|
||||||
%{_mandir}/man7/zmq_inproc.7.gz
|
%{_mandir}/man7/zmq_inproc.7.gz
|
||||||
%{_mandir}/man7/zmq_ipc.7.gz
|
%{_mandir}/man7/zmq_ipc.7.gz
|
||||||
%{_mandir}/man7/zmq_pgm.7.gz
|
%{_mandir}/man7/zmq_pgm.7.gz
|
||||||
@ -153,6 +180,13 @@ This package contains ZeroMQ related development libraries and header files.
|
|||||||
%{_mandir}/man7/zmq_tipc.7.gz
|
%{_mandir}/man7/zmq_tipc.7.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Oct 25 2014 Phillip Mienk <mienkphi@gmail.com>
|
||||||
|
- Add --with/--without libgssapi_krb5 support following J.T.Conklin's pattern
|
||||||
|
|
||||||
|
* Sat Oct 18 2014 J.T. Conklin <jtc@acorntoolworks.com>
|
||||||
|
- Add --with/--without pgm support
|
||||||
|
- Add --with/--without libsodium support
|
||||||
|
|
||||||
* Tue Jun 10 2014 Tristian Celestin <tristian.celestin@outlook.com> 4.0.4
|
* Tue Jun 10 2014 Tristian Celestin <tristian.celestin@outlook.com> 4.0.4
|
||||||
- Updated packaged files
|
- Updated packaged files
|
||||||
|
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2013 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
20
ci_deploy.sh
Normal file
20
ci_deploy.sh
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -x
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [[ $TRAVIS_OS_NAME =~ (linux) ]]; then
|
||||||
|
# Tell travis to deploy all files in dist
|
||||||
|
mkdir dist
|
||||||
|
export ZEROMQ41_DEPLOYMENT=dist/*
|
||||||
|
# Move archives to dist
|
||||||
|
mv *.tar.gz dist
|
||||||
|
mv *.zip dist
|
||||||
|
# Generate hash sums
|
||||||
|
cd dist
|
||||||
|
md5sum *.zip *.tar.gz > MD5SUMS
|
||||||
|
sha1sum *.zip *.tar.gz > SHA1SUMS
|
||||||
|
cd -
|
||||||
|
else
|
||||||
|
export ZEROMQ4-1_DEPLOYMENT=""
|
||||||
|
fi
|
417
configure.ac
417
configure.ac
@ -11,7 +11,8 @@ AC_INIT([zeromq],[m4_esyscmd([./version.sh])],[zeromq-dev@lists.zeromq.org])
|
|||||||
AC_CONFIG_AUX_DIR(config)
|
AC_CONFIG_AUX_DIR(config)
|
||||||
AC_CONFIG_MACRO_DIR(config)
|
AC_CONFIG_MACRO_DIR(config)
|
||||||
AC_CONFIG_HEADERS([src/platform.hpp])
|
AC_CONFIG_HEADERS([src/platform.hpp])
|
||||||
AM_INIT_AUTOMAKE(tar-ustar dist-zip foreign)
|
AM_INIT_AUTOMAKE(foreign subdir-objects tar-ustar dist-zip)
|
||||||
|
|
||||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||||
|
|
||||||
# This lets us use PACKAGE_VERSION in Makefiles
|
# This lets us use PACKAGE_VERSION in Makefiles
|
||||||
@ -30,9 +31,11 @@ AC_SUBST(PACKAGE_VERSION)
|
|||||||
# ZeroMQ version 3.0: 2:0:0 (ABI version 2)
|
# ZeroMQ version 3.0: 2:0:0 (ABI version 2)
|
||||||
# ZeroMQ version 3.1: 3:0:0 (ABI version 3)
|
# ZeroMQ version 3.1: 3:0:0 (ABI version 3)
|
||||||
# ZeroMQ version 4.0: 4:0:0 (ABI version 4)
|
# ZeroMQ version 4.0: 4:0:0 (ABI version 4)
|
||||||
|
# ZeroMQ version 4.1: 5:0:0 (ABI version 5)
|
||||||
|
# ZeroMQ version 4.1.5: 5:1:0 (ABI version 5)
|
||||||
#
|
#
|
||||||
# libzmq -version-info current:revision:age
|
# libzmq -version-info current:revision:age
|
||||||
LTVER="4:0:0"
|
LTVER="5:1:0"
|
||||||
AC_SUBST(LTVER)
|
AC_SUBST(LTVER)
|
||||||
|
|
||||||
# Take a copy of original flags
|
# Take a copy of original flags
|
||||||
@ -47,6 +50,7 @@ AC_PROG_CXX
|
|||||||
AM_PROG_CC_C_O
|
AM_PROG_CC_C_O
|
||||||
AC_PROG_SED
|
AC_PROG_SED
|
||||||
AC_PROG_AWK
|
AC_PROG_AWK
|
||||||
|
PKG_PROG_PKG_CONFIG
|
||||||
|
|
||||||
# Libtool configuration for different targets. See acinclude.m4
|
# Libtool configuration for different targets. See acinclude.m4
|
||||||
AC_ARG_VAR([XMLTO], [Path to xmlto command])
|
AC_ARG_VAR([XMLTO], [Path to xmlto command])
|
||||||
@ -63,80 +67,48 @@ LIBZMQ_CHECK_ENABLE_DEBUG
|
|||||||
# Check wheter to enable code coverage
|
# Check wheter to enable code coverage
|
||||||
LIBZMQ_WITH_GCOV
|
LIBZMQ_WITH_GCOV
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([if TIPC is available and supports nonblocking connect])
|
AC_MSG_CHECKING([if TIPC is available and supports nonblocking connect])
|
||||||
AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include <stdlib.h>
|
|
||||||
#include <string.h>
|
AC_RUN_IFELSE(
|
||||||
#include <fcntl.h>
|
[AC_LANG_PROGRAM([[
|
||||||
#include <errno.h>
|
#include <stdlib.h>
|
||||||
#include <sys/socket.h>
|
#include <string.h>
|
||||||
#include <linux/tipc.h>
|
#include <fcntl.h>
|
||||||
]],[[
|
#include <errno.h>
|
||||||
struct sockaddr_tipc topsrv;
|
#include <sys/socket.h>
|
||||||
int sd = socket(AF_TIPC, SOCK_SEQPACKET, 0);
|
#include <linux/tipc.h>
|
||||||
if (sd == -EAFNOSUPPORT) {
|
]],[[
|
||||||
return 1;
|
struct sockaddr_tipc topsrv;
|
||||||
}
|
int sd = socket(AF_TIPC, SOCK_SEQPACKET, 0);
|
||||||
memset(&topsrv, 0, sizeof(topsrv));
|
if (sd == -EAFNOSUPPORT) {
|
||||||
topsrv.family = AF_TIPC;
|
return 1;
|
||||||
topsrv.addrtype = TIPC_ADDR_NAME;
|
}
|
||||||
topsrv.addr.name.name.type = TIPC_TOP_SRV;
|
memset(&topsrv, 0, sizeof(topsrv));
|
||||||
topsrv.addr.name.name.instance = TIPC_TOP_SRV;
|
topsrv.family = AF_TIPC;
|
||||||
fcntl(sd, F_SETFL, O_NONBLOCK);
|
topsrv.addrtype = TIPC_ADDR_NAME;
|
||||||
if (connect(sd, (struct sockaddr *)&topsrv,
|
topsrv.addr.name.name.type = TIPC_TOP_SRV;
|
||||||
sizeof(topsrv)) != 0) {
|
topsrv.addr.name.name.instance = TIPC_TOP_SRV;
|
||||||
if (errno != EINPROGRESS)
|
fcntl(sd, F_SETFL, O_NONBLOCK);
|
||||||
return -1;
|
if (connect(sd, (struct sockaddr *)&topsrv, sizeof(topsrv)) != 0) {
|
||||||
}]])
|
if (errno != EINPROGRESS)
|
||||||
],
|
return -1;
|
||||||
[libzmq_tipc_support=yes],
|
}
|
||||||
[libzmq_tipc_support=no],
|
]])
|
||||||
[libzmq_tipc_support=no])
|
],
|
||||||
|
[libzmq_tipc_support=yes],
|
||||||
|
[libzmq_tipc_support=no],
|
||||||
|
[libzmq_tipc_support=no])
|
||||||
|
|
||||||
AC_MSG_RESULT([$libzmq_tipc_support])
|
AC_MSG_RESULT([$libzmq_tipc_support])
|
||||||
|
|
||||||
# Allow libsodium to be installed in a custom path:
|
|
||||||
|
|
||||||
AC_ARG_WITH([libsodium],
|
|
||||||
[AS_HELP_STRING([--with-libsodium],
|
|
||||||
[Specify libsodium prefix])],
|
|
||||||
[zmq_search_libsodium="yes"],
|
|
||||||
[])
|
|
||||||
|
|
||||||
if test "x$zmq_search_libsodium" = "xyes"; then
|
|
||||||
if test -r "${with_libsodium}/include/sodium.h"; then
|
|
||||||
CPPFLAGS="-I${with_libsodium}/include ${CPPFLAGS}"
|
|
||||||
LDFLAGS="-L${with_libsodium}/lib ${LDFLAGS}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_WITH([libsodium-include-dir],
|
|
||||||
[AS_HELP_STRING([--with-libsodium-include-dir],
|
|
||||||
[Specify libsodium include prefix])],
|
|
||||||
[zmq_search_libsodium_include="yes"],
|
|
||||||
[])
|
|
||||||
|
|
||||||
if test "x$zmq_search_libsodium_include" = "xyes"; then
|
|
||||||
if test -r "${with_libsodium_include_dir}/sodium.h"; then
|
|
||||||
CPPFLAGS="-I${with_libsodium_include_dir}/include ${CPPFLAGS}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_WITH([libsodium_lib_dir],
|
|
||||||
[AS_HELP_STRING([--with-libsodium-lib-dir],
|
|
||||||
[Specify libsodium library prefix])],
|
|
||||||
[zmq_search_libsodium_lib="yes"],
|
|
||||||
[])
|
|
||||||
|
|
||||||
if test "x$zmq_search_libsodium_lib" = "xyes"; then
|
|
||||||
if test -r "${with_libsodium_lib_dir}/libsodium.{a|so|dylib}"; then
|
|
||||||
LDFLAGS="-L${with_libsodium}/lib ${LDFLAGS}"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_WITH([relaxed],
|
AC_ARG_WITH([relaxed],
|
||||||
[AS_HELP_STRING([--with-relaxed],
|
[AS_HELP_STRING([--with-relaxed],
|
||||||
[Switch off pedantic compiler])],
|
[Switch off pedantic compiler])],
|
||||||
[zmq_relaxed="yes"],
|
[zmq_relaxed="yes"],
|
||||||
[])
|
[])
|
||||||
|
|
||||||
if test "x$zmq_relaxed" = "xyes"; then
|
if test "x$zmq_relaxed" = "xyes"; then
|
||||||
libzmq_pedantic="no"
|
libzmq_pedantic="no"
|
||||||
@ -145,10 +117,10 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
AC_ARG_WITH([militant],
|
AC_ARG_WITH([militant],
|
||||||
[AS_HELP_STRING([--with-militant],
|
[AS_HELP_STRING([--with-militant],
|
||||||
[Enable militant API assertions])],
|
[Enable militant API assertions])],
|
||||||
[zmq_militant="yes"],
|
[zmq_militant="yes"],
|
||||||
[])
|
[])
|
||||||
|
|
||||||
if test "x$zmq_militant" = "xyes"; then
|
if test "x$zmq_militant" = "xyes"; then
|
||||||
AC_DEFINE(ZMQ_ACT_MILITANT, 1, [Enable militant API assertions])
|
AC_DEFINE(ZMQ_ACT_MILITANT, 1, [Enable militant API assertions])
|
||||||
@ -167,7 +139,7 @@ libzmq_on_android="no"
|
|||||||
libzmq_on_linux="no"
|
libzmq_on_linux="no"
|
||||||
|
|
||||||
# Set some default features required by 0MQ code.
|
# Set some default features required by 0MQ code.
|
||||||
CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE $CPPFLAGS"
|
CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE -Wno-long-long $CPPFLAGS"
|
||||||
|
|
||||||
# For host type checks
|
# For host type checks
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
@ -211,8 +183,6 @@ case "${host_os}" in
|
|||||||
if test "x$solaris_has_atomic" = "xno"; then
|
if test "x$solaris_has_atomic" = "xno"; then
|
||||||
AC_DEFINE(ZMQ_FORCE_MUTEXES, 1, [Force to use mutexes])
|
AC_DEFINE(ZMQ_FORCE_MUTEXES, 1, [Force to use mutexes])
|
||||||
fi
|
fi
|
||||||
# ssp library is required for libsodium on Solaris-like systems
|
|
||||||
LDFLAGS="-lssp $LDFLAGS"
|
|
||||||
CPPFLAGS="$CPPFLAGS -Wno-long-long"
|
CPPFLAGS="$CPPFLAGS -Wno-long-long"
|
||||||
;;
|
;;
|
||||||
*freebsd*)
|
*freebsd*)
|
||||||
@ -310,13 +280,6 @@ esac
|
|||||||
# Checks for libraries
|
# Checks for libraries
|
||||||
AC_CHECK_LIB([pthread], [pthread_create])
|
AC_CHECK_LIB([pthread], [pthread_create])
|
||||||
AC_CHECK_LIB([rt], [clock_gettime])
|
AC_CHECK_LIB([rt], [clock_gettime])
|
||||||
if test "x$zmq_search_libsodium" = "xyes"; then
|
|
||||||
AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_ERROR(libsodium is not installed. Install it or don't pass --with-libsodium to configure script))
|
|
||||||
else
|
|
||||||
AC_CHECK_LIB([sodium], [sodium_init],,AC_MSG_WARN(libsodium is needed for CURVE security))
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context],,AC_MSG_WARN(libgssapi_krb5 is needed for GSSAPI security))
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Check if the compiler supports -fvisibility=hidden flag. MinGW32 uses __declspec
|
# Check if the compiler supports -fvisibility=hidden flag. MinGW32 uses __declspec
|
||||||
@ -329,7 +292,7 @@ fi
|
|||||||
|
|
||||||
# CPU-specific optimizations
|
# CPU-specific optimizations
|
||||||
case "${host_cpu}" in
|
case "${host_cpu}" in
|
||||||
*sparc*)
|
*sparc64*)
|
||||||
AC_LANG_PUSH([C++])
|
AC_LANG_PUSH([C++])
|
||||||
LIBZMQ_CHECK_LANG_FLAG_PREPEND([-mcpu=v9])
|
LIBZMQ_CHECK_LANG_FLAG_PREPEND([-mcpu=v9])
|
||||||
AC_LANG_POP([C++])
|
AC_LANG_POP([C++])
|
||||||
@ -342,13 +305,24 @@ esac
|
|||||||
LIBZMQ_CHECK_DOC_BUILD
|
LIBZMQ_CHECK_DOC_BUILD
|
||||||
|
|
||||||
# Check polling system
|
# Check polling system
|
||||||
LIBZMQ_CHECK_POLLER([CPPFLAGS="${CPPFLAGS} -D${libzmq_cv_poller_flag}"],
|
# Check polling system, set appropriate macro in src/platform.hpp
|
||||||
[AC_MSG_ERROR([Unable to continue without polling system])])
|
LIBZMQ_CHECK_POLLER
|
||||||
|
|
||||||
# Checks for header files.
|
# Checks for header files.
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_CHECK_HEADERS(errno.h arpa/inet.h netinet/tcp.h netinet/in.h stddef.h \
|
AC_CHECK_HEADERS(\
|
||||||
stdlib.h string.h sys/socket.h sys/time.h time.h unistd.h limits.h)
|
errno.h \
|
||||||
|
time.h \
|
||||||
|
unistd.h \
|
||||||
|
limits.h \
|
||||||
|
stddef.h \
|
||||||
|
stdlib.h \
|
||||||
|
string.h \
|
||||||
|
arpa/inet.h \
|
||||||
|
netinet/tcp.h \
|
||||||
|
netinet/in.h \
|
||||||
|
sys/socket.h \
|
||||||
|
sys/time.h)
|
||||||
|
|
||||||
# Check if we have ifaddrs.h header file.
|
# Check if we have ifaddrs.h header file.
|
||||||
AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h header.])])
|
AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h header.])])
|
||||||
@ -357,25 +331,36 @@ AC_CHECK_HEADERS(ifaddrs.h, [AC_DEFINE(ZMQ_HAVE_IFADDRS, 1, [Have ifaddrs.h head
|
|||||||
AC_CHECK_HEADERS(sys/uio.h, [AC_DEFINE(ZMQ_HAVE_UIO, 1, [Have uio.h header.])])
|
AC_CHECK_HEADERS(sys/uio.h, [AC_DEFINE(ZMQ_HAVE_UIO, 1, [Have uio.h header.])])
|
||||||
|
|
||||||
# Force not to use eventfd
|
# Force not to use eventfd
|
||||||
AC_ARG_ENABLE([eventfd], [AS_HELP_STRING([--disable-eventfd], [disable eventfd [default=no]])],
|
AC_ARG_ENABLE([eventfd],
|
||||||
[zmq_disable_eventfd=yes], [zmq_disable_eventfd=no])
|
[AS_HELP_STRING([--disable-eventfd], [disable eventfd [default=no]])],
|
||||||
|
[zmq_enable_eventfd=$enableval],
|
||||||
|
[zmq_enable_eventfd=yes])
|
||||||
|
|
||||||
if test "x$zmq_disable_eventfd" != "xyes"; then
|
if test "x$zmq_enable_eventfd" = "xyes"; then
|
||||||
# Check if we have eventfd.h header file.
|
# Check if we have eventfd.h header file.
|
||||||
AC_CHECK_HEADERS(sys/eventfd.h,
|
AC_CHECK_HEADERS(sys/eventfd.h,
|
||||||
[AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])])
|
[AC_DEFINE(ZMQ_HAVE_EVENTFD, 1, [Have eventfd extension.])])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Use c++ in subsequent tests
|
# Use c++ in subsequent tests
|
||||||
AC_LANG_PUSH(C++)
|
AC_LANG_PUSH(C++)
|
||||||
|
|
||||||
AC_CHECK_DECLS([SO_PEERCRED], [AC_DEFINE(ZMQ_HAVE_SO_PEERCRED, 1, [Have SO_PEERCRED socket option])], [], [#include <sys/socket.h>])
|
AC_CHECK_DECLS([SO_PEERCRED],
|
||||||
AC_CHECK_DECLS([LOCAL_PEERCRED], [AC_DEFINE(ZMQ_HAVE_LOCAL_PEERCRED, 1, [Have LOCAL_PEERCRED socket option])], [], [#include <sys/socket.h>])
|
[AC_DEFINE(ZMQ_HAVE_SO_PEERCRED, 1, [Have SO_PEERCRED socket option])],
|
||||||
|
[],
|
||||||
|
[#include <sys/socket.h>])
|
||||||
|
|
||||||
|
AC_CHECK_DECLS([LOCAL_PEERCRED],
|
||||||
|
[AC_DEFINE(ZMQ_HAVE_LOCAL_PEERCRED, 1, [Have LOCAL_PEERCRED socket option])],
|
||||||
|
[],
|
||||||
|
[#include <sys/socket.h>])
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_IPC_PEERCRED, test "x$ac_cv_have_decl_SO_PEERCRED" = "xyes" || test "x$ac_cv_have_decl_LOCAL_PEERCRED" = "xyes")
|
AM_CONDITIONAL(HAVE_IPC_PEERCRED, test "x$ac_cv_have_decl_SO_PEERCRED" = "xyes" || test "x$ac_cv_have_decl_LOCAL_PEERCRED" = "xyes")
|
||||||
|
|
||||||
AC_HEADER_STDBOOL
|
AC_HEADER_STDBOOL
|
||||||
AC_C_CONST
|
AC_C_CONST
|
||||||
AC_C_INLINE
|
AC_C_INLINE
|
||||||
|
|
||||||
# Checks for typedefs, structures, and compiler characteristics.
|
# Checks for typedefs, structures, and compiler characteristics.
|
||||||
if test "x$libzmq_cv_[]_AC_LANG_ABBREV[]_intel_compiler" = "xyes"; then
|
if test "x$libzmq_cv_[]_AC_LANG_ABBREV[]_intel_compiler" = "xyes"; then
|
||||||
dnl 279: controlling expression is constant
|
dnl 279: controlling expression is constant
|
||||||
@ -386,117 +371,117 @@ else
|
|||||||
AC_TYPE_SIZE_T
|
AC_TYPE_SIZE_T
|
||||||
AC_TYPE_SSIZE_T
|
AC_TYPE_SSIZE_T
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_HEADER_TIME
|
AC_HEADER_TIME
|
||||||
AC_TYPE_UINT32_T
|
AC_TYPE_UINT32_T
|
||||||
AC_C_VOLATILE
|
AC_C_VOLATILE
|
||||||
|
|
||||||
# PGM extension
|
# build using libgssapi_krb5
|
||||||
libzmq_pgm_ext="no"
|
AC_ARG_WITH([libgssapi_krb5], [AS_HELP_STRING([--with-libgssapi_krb5],
|
||||||
|
[require libzmq build with libgssapi_krb5 [default=no]])],
|
||||||
|
[require_libgssapi_krb5_ext=$withval],
|
||||||
|
[require_libgssapi_krb5_ext=no])
|
||||||
|
|
||||||
pgm_basename="libpgm-5.2.122~dfsg"
|
# conditionally require libgssapi_krb5
|
||||||
|
if test "x$require_libgssapi_krb5_ext" != "xno"; then
|
||||||
|
AC_CHECK_LIB([gssapi_krb5], [gss_init_sec_context],,
|
||||||
|
AC_MSG_ERROR(libgssapi_krb5 is needed for GSSAPI security))
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Select curve encryption library, defaults to tweetnacl
|
||||||
|
# To use libsodium instead, use --with-libsodium (must be installed)
|
||||||
|
# To disable curve, use --disable-curve
|
||||||
|
|
||||||
|
AC_ARG_WITH([libsodium],
|
||||||
|
[AS_HELP_STRING([--with-libsodium], [use libsodium instead of built-in tweetnacl [default=no]])])
|
||||||
|
|
||||||
|
AS_IF([test "x$with_libsodium" = "xyes"], [
|
||||||
|
PKG_CHECK_MODULES([sodium], [libsodium], [libsodium_found=yes], [
|
||||||
|
AC_MSG_ERROR(libsodium is not installed. Install it, then run configure again)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE([curve],
|
||||||
|
[AS_HELP_STRING([--disable-curve], [disable CURVE security [default=no]])])
|
||||||
|
|
||||||
|
if test "x$enable_curve" = "xno"; then
|
||||||
|
curve_library=""
|
||||||
|
AC_MSG_NOTICE([CURVE security is disabled])
|
||||||
|
|
||||||
|
elif test "x$with_libsodium" = "xyes"; then
|
||||||
|
AC_MSG_NOTICE([Using libsodium for CURVE security])
|
||||||
|
AC_DEFINE(ZMQ_HAVE_CURVE, [1], [Using curve encryption])
|
||||||
|
AC_DEFINE(ZMQ_USE_LIBSODIUM, [1], [Using libsodium for curve encryption])
|
||||||
|
curve_library="libsodium"
|
||||||
|
|
||||||
|
# On Solaris, libsodium depends on libssp
|
||||||
|
case "${host_os}" in
|
||||||
|
*solaris*)
|
||||||
|
LDFLAGS="-lssp $LDFLAGS"
|
||||||
|
libzmq_pedantic="no"
|
||||||
|
libzmq_werror="no"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
AC_MSG_NOTICE([Using tweetnacl for CURVE security])
|
||||||
|
AC_DEFINE(ZMQ_HAVE_CURVE, [1], [Using curve encryption])
|
||||||
|
AC_DEFINE(ZMQ_USE_TWEETNACL, [1], [Using tweetnacl for curve encryption])
|
||||||
|
curve_library="tweetnacl"
|
||||||
|
fi
|
||||||
|
|
||||||
|
AM_CONDITIONAL(ENABLE_CURVE_KEYGEN, test "x$enable_curve" = "xyes")
|
||||||
|
AM_CONDITIONAL(USE_LIBSODIUM, test "$curve_library" = "libsodium")
|
||||||
|
AM_CONDITIONAL(USE_TWEETNACL, test "$curve_library" = "tweetnacl")
|
||||||
|
|
||||||
|
# build using pgm
|
||||||
|
have_pgm_library="no"
|
||||||
|
|
||||||
AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm],
|
AC_ARG_WITH([pgm], [AS_HELP_STRING([--with-pgm],
|
||||||
[build libzmq with PGM extension [default=no]])],
|
|
||||||
[with_pgm_ext=$withval], [with_pgm_ext=no])
|
|
||||||
|
|
||||||
# build using system pgm
|
|
||||||
AC_ARG_WITH([system-pgm], [AS_HELP_STRING([--with-system-pgm],
|
|
||||||
[build libzmq with PGM extension. Requires pkg-config [default=no]])],
|
[build libzmq with PGM extension. Requires pkg-config [default=no]])],
|
||||||
[with_system_pgm_ext=yes], [with_system_pgm_ext=no])
|
[with_pgm_ext=$withval],
|
||||||
|
[with_pgm_ext=no])
|
||||||
if test "x$with_pgm_ext" != "xno" -a "x$with_system_pgm_ext" != "xno"; then
|
|
||||||
AC_MSG_ERROR([--with-pgm and --with-system-pgm cannot be specified together])
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
# conditionally require pgm package
|
||||||
if test "x$with_pgm_ext" != "xno"; then
|
if test "x$with_pgm_ext" != "xno"; then
|
||||||
|
PKG_CHECK_MODULES([pgm], [openpgm-5.2 >= 5.2], [ have_pgm_library="yes" ],
|
||||||
# This allows placing the tar.gz to foreign/openpgm
|
[PKG_CHECK_MODULES([pgm], [openpgm-5.1 >= 5.1],
|
||||||
# and using ./configure --with-pgm=libpgm-x.y.z
|
[ have_pgm_library="yes" ])])
|
||||||
if test "x$with_pgm_ext" != "xyes"; then
|
|
||||||
pgm_basename="$with_pgm_ext"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Unpack libpgm
|
|
||||||
AC_MSG_NOTICE([Unpacking ${pgm_basename}.tar.gz])
|
|
||||||
libzmq_pwd=`pwd`
|
|
||||||
cd foreign/openpgm
|
|
||||||
|
|
||||||
if ! (gzip -dc "${pgm_basename}.tar.gz" || echo "failed") | ${am__untar}; then
|
|
||||||
AC_MSG_ERROR([cannot unpack the foreign/openpgm/${pgm_basename}.tar.gz file])
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "${libzmq_pwd}"
|
|
||||||
|
|
||||||
if test -d foreign/openpgm/build-staging; then
|
|
||||||
rm -rf foreign/openpgm/build-staging
|
|
||||||
fi
|
|
||||||
|
|
||||||
mv foreign/openpgm/${pgm_basename} foreign/openpgm/build-staging
|
|
||||||
pgm_srcdir=foreign/openpgm/build-staging/openpgm/pgm
|
|
||||||
|
|
||||||
if ! test -d foreign/openpgm/build-staging/openpgm/pgm/config; then
|
|
||||||
mkdir foreign/openpgm/build-staging/openpgm/pgm/config
|
|
||||||
fi
|
|
||||||
|
|
||||||
# DSO symbol visibility for openpgm
|
|
||||||
AC_LANG_PUSH([C])
|
|
||||||
LIBZMQ_CHECK_LANG_VISIBILITY([ac_configure_args="CFLAGS='$libzmq_cv_[]_AC_LANG_ABBREV[]_visibility_flag' ${ac_configure_args}"])
|
|
||||||
AC_LANG_POP([C])
|
|
||||||
|
|
||||||
pgm_subdir=build-staging/openpgm/pgm
|
|
||||||
AC_SUBST(pgm_subdir)
|
|
||||||
|
|
||||||
AC_SUBST(pgm_srcdir)
|
|
||||||
AC_CONFIG_SUBDIRS([foreign/openpgm/build-staging/openpgm/pgm/])
|
|
||||||
|
|
||||||
# Success!
|
|
||||||
AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension])
|
|
||||||
libzmq_pgm_ext="yes"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Build with system openpgm
|
if test "x$have_pgm_library" = "xyes"; then
|
||||||
if test "x$with_system_pgm_ext" != "xno"; then
|
AC_DEFINE(ZMQ_HAVE_OPENPGM, [1], [Have OpenPGM extension])
|
||||||
m4_ifdef([PKG_CHECK_MODULES], [
|
|
||||||
have_pgm_system_library="no"
|
|
||||||
PKG_CHECK_MODULES([OpenPGM], [openpgm-5.2 >= 5.2],
|
|
||||||
[ have_pgm_system_library="yes" ],
|
|
||||||
[PKG_CHECK_MODULES([OpenPGM], [openpgm-5.1 >= 5.1],
|
|
||||||
[ have_pgm_system_library="yes" ])
|
|
||||||
]
|
|
||||||
)
|
|
||||||
if test "x$have_pgm_system_library" = "xyes"; then
|
|
||||||
AC_DEFINE(ZMQ_HAVE_OPENPGM, 1, [Have OpenPGM extension])
|
|
||||||
LIBZMQ_EXTRA_CXXFLAGS="$OpenPGM_CFLAGS $LIBZMQ_EXTRA_CXXFLAGS"
|
|
||||||
LIBS="$OpenPGM_LIBS $LIBS"
|
|
||||||
fi
|
|
||||||
],
|
|
||||||
[AC_MSG_ERROR([--with-system-pgm requires a working pkg-config installation])])
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(pgm_basename)
|
AM_CONDITIONAL(HAVE_PGM, test "x$have_pgm_library" = "xyes")
|
||||||
|
|
||||||
|
|
||||||
# This uses "--with-norm" to point to the "norm" directory
|
# This uses "--with-norm" to point to the "norm" directory
|
||||||
# for "norm/include" and "norm/lib"
|
# for "norm/include" and "norm/lib"
|
||||||
#(if "--with-norm=yes" is given, then assume installed on system)
|
#(if "--with-norm=yes" is given, then assume installed on system)
|
||||||
AC_ARG_WITH([norm], [AS_HELP_STRING([--with-norm],
|
AC_ARG_WITH([norm],
|
||||||
[build libzmq with NORM protocol extension, optionally specifying norm path [default=no]])],
|
[AS_HELP_STRING([--with-norm],
|
||||||
[with_norm_ext=$withval], [with_norm_ext=no])
|
[build libzmq with NORM protocol extension, optionally specifying norm path [default=no]])],
|
||||||
|
[with_norm_ext=$withval],
|
||||||
|
[with_norm_ext=no])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AC_MSG_CHECKING("with_norm_ext = ${with_norm_ext}")
|
AC_MSG_CHECKING("with_norm_ext = ${with_norm_ext}")
|
||||||
|
|
||||||
if test "x$with_norm_ext" != "xno"; then
|
if test "x$with_norm_ext" != "xno"; then
|
||||||
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE(ZMQ_HAVE_NORM, 1, [Have NORM protocol extension])
|
AC_DEFINE(ZMQ_HAVE_NORM, 1, [Have NORM protocol extension])
|
||||||
|
|
||||||
if test "x$wwith_norm_ext" != "xyes"; then
|
if test "x$wwith_norm_ext" != "xyes"; then
|
||||||
norm_path="${with_norm_ext}"
|
norm_path="${with_norm_ext}"
|
||||||
LIBZMQ_EXTRA_CXXFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_CXXFLAGS}"
|
LIBZMQ_EXTRA_CXXFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_CXXFLAGS}"
|
||||||
LIBZMQ_EXTRA_LDFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_LDFLAGS}"
|
LIBZMQ_EXTRA_LDFLAGS="-I${norm_path}/include ${LIBZMQ_EXTRA_LDFLAGS}"
|
||||||
fi
|
fi
|
||||||
LIBS="-lnorm $LIBS"
|
LIBS="-lnorm $LIBS"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Set -Wall, -Werror and -pedantic
|
# Set -Wall, -Werror and -pedantic
|
||||||
AC_LANG_PUSH([C++])
|
AC_LANG_PUSH([C++])
|
||||||
|
|
||||||
@ -513,7 +498,6 @@ fi
|
|||||||
AC_LANG_POP([C++])
|
AC_LANG_POP([C++])
|
||||||
|
|
||||||
AM_CONDITIONAL(BUILD_TIPC, test "x$libzmq_tipc_support" = "xyes")
|
AM_CONDITIONAL(BUILD_TIPC, test "x$libzmq_tipc_support" = "xyes")
|
||||||
AM_CONDITIONAL(BUILD_PGM, test "x$libzmq_pgm_ext" = "xyes")
|
|
||||||
AM_CONDITIONAL(ON_MINGW, test "x$libzmq_on_mingw32" = "xyes")
|
AM_CONDITIONAL(ON_MINGW, test "x$libzmq_on_mingw32" = "xyes")
|
||||||
AM_CONDITIONAL(ON_ANDROID, test "x$libzmq_on_android" = "xyes")
|
AM_CONDITIONAL(ON_ANDROID, test "x$libzmq_on_android" = "xyes")
|
||||||
AM_CONDITIONAL(ON_LINUX, test "x$libzmq_on_linux" = "xyes")
|
AM_CONDITIONAL(ON_LINUX, test "x$libzmq_on_linux" = "xyes")
|
||||||
@ -522,38 +506,43 @@ AM_CONDITIONAL(ON_LINUX, test "x$libzmq_on_linux" = "xyes")
|
|||||||
AC_TYPE_SIGNAL
|
AC_TYPE_SIGNAL
|
||||||
AC_CHECK_FUNCS(perror gettimeofday clock_gettime memset socket getifaddrs freeifaddrs fork)
|
AC_CHECK_FUNCS(perror gettimeofday clock_gettime memset socket getifaddrs freeifaddrs fork)
|
||||||
AC_CHECK_HEADERS([alloca.h])
|
AC_CHECK_HEADERS([alloca.h])
|
||||||
LIBZMQ_CHECK_SOCK_CLOEXEC([AC_DEFINE(
|
|
||||||
[ZMQ_HAVE_SOCK_CLOEXEC],
|
LIBZMQ_CHECK_SOCK_CLOEXEC([
|
||||||
[1],
|
AC_DEFINE([ZMQ_HAVE_SOCK_CLOEXEC],
|
||||||
[Whether SOCK_CLOEXEC is defined and functioning.])
|
[1],
|
||||||
])
|
[Whether SOCK_CLOEXEC is defined and functioning.])
|
||||||
|
])
|
||||||
|
|
||||||
# TCP keep-alives Checks.
|
# TCP keep-alives Checks.
|
||||||
LIBZMQ_CHECK_SO_KEEPALIVE([AC_DEFINE(
|
LIBZMQ_CHECK_SO_KEEPALIVE([
|
||||||
[ZMQ_HAVE_SO_KEEPALIVE],
|
AC_DEFINE([ZMQ_HAVE_SO_KEEPALIVE],
|
||||||
[1],
|
[1],
|
||||||
[Whether SO_KEEPALIVE is supported.])
|
[Whether SO_KEEPALIVE is supported.])
|
||||||
])
|
])
|
||||||
LIBZMQ_CHECK_TCP_KEEPCNT([AC_DEFINE(
|
|
||||||
[ZMQ_HAVE_TCP_KEEPCNT],
|
LIBZMQ_CHECK_TCP_KEEPCNT([
|
||||||
[1],
|
AC_DEFINE([ZMQ_HAVE_TCP_KEEPCNT],
|
||||||
[Whether TCP_KEEPCNT is supported.])
|
[1],
|
||||||
])
|
[Whether TCP_KEEPCNT is supported.])
|
||||||
LIBZMQ_CHECK_TCP_KEEPIDLE([AC_DEFINE(
|
])
|
||||||
[ZMQ_HAVE_TCP_KEEPIDLE],
|
|
||||||
[1],
|
LIBZMQ_CHECK_TCP_KEEPIDLE([
|
||||||
[Whether TCP_KEEPIDLE is supported.])
|
AC_DEFINE([ZMQ_HAVE_TCP_KEEPIDLE],
|
||||||
])
|
[1],
|
||||||
LIBZMQ_CHECK_TCP_KEEPINTVL([AC_DEFINE(
|
[Whether TCP_KEEPIDLE is supported.])
|
||||||
[ZMQ_HAVE_TCP_KEEPINTVL],
|
])
|
||||||
[1],
|
|
||||||
[Whether TCP_KEEPINTVL is supported.])
|
LIBZMQ_CHECK_TCP_KEEPINTVL([
|
||||||
])
|
AC_DEFINE([ZMQ_HAVE_TCP_KEEPINTVL],
|
||||||
LIBZMQ_CHECK_TCP_KEEPALIVE([AC_DEFINE(
|
[1],
|
||||||
[ZMQ_HAVE_TCP_KEEPALIVE],
|
[Whether TCP_KEEPINTVL is supported.])
|
||||||
[1],
|
])
|
||||||
[Whether TCP_KEEPALIVE is supported.])
|
|
||||||
])
|
LIBZMQ_CHECK_TCP_KEEPALIVE([
|
||||||
|
AC_DEFINE([ZMQ_HAVE_TCP_KEEPALIVE],
|
||||||
|
[1],
|
||||||
|
[Whether TCP_KEEPALIVE is supported.])
|
||||||
|
])
|
||||||
|
|
||||||
AM_CONDITIONAL(HAVE_FORK, test "x$ac_cv_func_fork" = "xyes")
|
AM_CONDITIONAL(HAVE_FORK, test "x$ac_cv_func_fork" = "xyes")
|
||||||
|
|
||||||
@ -562,14 +551,20 @@ AC_SUBST(LIBZMQ_EXTRA_CFLAGS)
|
|||||||
AC_SUBST(LIBZMQ_EXTRA_CXXFLAGS)
|
AC_SUBST(LIBZMQ_EXTRA_CXXFLAGS)
|
||||||
AC_SUBST(LIBZMQ_EXTRA_LDFLAGS)
|
AC_SUBST(LIBZMQ_EXTRA_LDFLAGS)
|
||||||
|
|
||||||
AC_CONFIG_FILES([Makefile \
|
# set pkgconfigdir, allow override
|
||||||
src/Makefile \
|
AC_ARG_WITH([pkgconfigdir],
|
||||||
|
AS_HELP_STRING([--with-pkgconfigdir=PATH],
|
||||||
|
[Path to the pkgconfig directory [[LIBDIR/pkgconfig]]]),
|
||||||
|
[pkgconfigdir="$withval"],
|
||||||
|
[pkgconfigdir='${libdir}/pkgconfig'])
|
||||||
|
AC_SUBST([pkgconfigdir])
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([ \
|
||||||
|
Makefile \
|
||||||
src/libzmq.pc \
|
src/libzmq.pc \
|
||||||
doc/Makefile \
|
doc/Makefile \
|
||||||
perf/Makefile \
|
builds/Makefile \
|
||||||
tests/Makefile \
|
|
||||||
tools/Makefile \
|
|
||||||
builds/msvc/Makefile \
|
builds/msvc/Makefile \
|
||||||
foreign/openpgm/Makefile \
|
|
||||||
builds/redhat/zeromq.spec])
|
builds/redhat/zeromq.spec])
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
#
|
||||||
|
# documentation
|
||||||
|
#
|
||||||
MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \
|
MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \
|
||||||
zmq_ctx_new.3 zmq_ctx_term.3 zmq_ctx_get.3 zmq_ctx_set.3 zmq_ctx_shutdown.3 \
|
zmq_ctx_new.3 zmq_ctx_term.3 zmq_ctx_get.3 zmq_ctx_set.3 zmq_ctx_shutdown.3 \
|
||||||
zmq_msg_init.3 zmq_msg_init_data.3 zmq_msg_init_size.3 \
|
zmq_msg_init.3 zmq_msg_init_data.3 zmq_msg_init_size.3 \
|
||||||
@ -12,29 +15,30 @@ MAN3 = zmq_bind.3 zmq_unbind.3 zmq_connect.3 zmq_disconnect.3 zmq_close.3 \
|
|||||||
zmq_proxy.3 zmq_proxy_steerable.3 \
|
zmq_proxy.3 zmq_proxy_steerable.3 \
|
||||||
zmq_z85_encode.3 zmq_z85_decode.3 zmq_curve_keypair.3 zmq_has.3
|
zmq_z85_encode.3 zmq_z85_decode.3 zmq_curve_keypair.3 zmq_has.3
|
||||||
|
|
||||||
MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_epgm.7 zmq_inproc.7 zmq_ipc.7 \
|
MAN7 = zmq.7 zmq_tcp.7 zmq_pgm.7 zmq_inproc.7 zmq_ipc.7 \
|
||||||
zmq_null.7 zmq_plain.7 zmq_curve.7 zmq_tipc.7
|
zmq_null.7 zmq_plain.7 zmq_curve.7 zmq_tipc.7
|
||||||
|
|
||||||
MAN_DOC = $(MAN1) $(MAN3) $(MAN7)
|
MAN_DOC =
|
||||||
|
|
||||||
MAN_TXT = $(MAN3:%.3=%.txt)
|
MAN_TXT = $(MAN3:%.3=%.txt)
|
||||||
MAN_TXT += $(MAN7:%.7=%.txt)
|
MAN_TXT += $(MAN7:%.7=%.txt)
|
||||||
MAN_HTML = $(MAN_TXT:%.txt=%.html)
|
MAN_HTML =
|
||||||
|
|
||||||
if INSTALL_MAN
|
MAINTAINERCLEANFILES =
|
||||||
dist_man_MANS = $(MAN_DOC)
|
|
||||||
endif
|
|
||||||
|
|
||||||
EXTRA_DIST = asciidoc.conf $(MAN_TXT)
|
EXTRA_DIST = asciidoc.conf $(MAN_TXT)
|
||||||
if BUILD_DOC
|
|
||||||
EXTRA_DIST += $(MAN_HTML)
|
if INSTALL_MAN
|
||||||
|
MAN_DOC += $(MAN1) $(MAN3) $(MAN7)
|
||||||
|
dist_man_MANS = $(MAN_DOC)
|
||||||
|
MAINTAINERCLEANFILES += $(MAN_DOC)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = $(MAN_DOC) $(MAN_HTML)
|
|
||||||
|
|
||||||
dist-hook : $(MAN_DOC) $(MAN_HTML)
|
|
||||||
|
|
||||||
if BUILD_DOC
|
if BUILD_DOC
|
||||||
|
MAN_HTML += $(MAN_TXT:%.txt=%.html)
|
||||||
|
EXTRA_DIST += $(MAN_HTML)
|
||||||
|
MAINTAINERCLEANFILES += $(MAN_HTML)
|
||||||
|
|
||||||
SUFFIXES=.html .txt .xml .3 .7
|
SUFFIXES=.html .txt .xml .3 .7
|
||||||
|
|
||||||
.txt.html:
|
.txt.html:
|
||||||
@ -49,6 +53,6 @@ SUFFIXES=.html .txt .xml .3 .7
|
|||||||
xmlto man $<
|
xmlto man $<
|
||||||
.xml.7:
|
.xml.7:
|
||||||
xmlto man $<
|
xmlto man $<
|
||||||
zmq_epgm.7: zmq_pgm.7
|
|
||||||
cp $< $@
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
dist-hook : $(MAN_DOC) $(MAN_HTML)
|
||||||
|
@ -32,6 +32,28 @@ context.
|
|||||||
[horizontal]
|
[horizontal]
|
||||||
Default value:: 1
|
Default value:: 1
|
||||||
|
|
||||||
|
ZMQ_THREAD_SCHED_POLICY: Set scheduling policy for I/O threads
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
The 'ZMQ_THREAD_SCHED_POLICY' argument sets the scheduling policy for
|
||||||
|
internal context's thread pool. This option is not available on windows.
|
||||||
|
Supported values for this option can be found in sched.h file,
|
||||||
|
or at http://man7.org/linux/man-pages/man2/sched_setscheduler.2.html.
|
||||||
|
This option only applies before creating any sockets on the context.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Default value:: -1
|
||||||
|
|
||||||
|
ZMQ_THREAD_PRIORITY: Set scheduling priority for I/O threads
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
The 'ZMQ_THREAD_PRIORITY' argument sets scheduling priority for
|
||||||
|
internal context's thread pool. This option is not available on windows.
|
||||||
|
Supported values for this option depend on chosen scheduling policy.
|
||||||
|
Details can be found in sched.h file, or at http://man7.org/linux/man-pages/man2/sched_setscheduler.2.html.
|
||||||
|
This option only applies before creating any sockets on the context.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Default value:: -1
|
||||||
|
|
||||||
ZMQ_MAX_SOCKETS: Set maximum number of sockets
|
ZMQ_MAX_SOCKETS: Set maximum number of sockets
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
The 'ZMQ_MAX_SOCKETS' argument sets the maximum number of sockets allowed
|
The 'ZMQ_MAX_SOCKETS' argument sets the maximum number of sockets allowed
|
||||||
|
@ -23,8 +23,8 @@ Context termination is performed in the following steps:
|
|||||||
exception of _zmq_close()_, any further operations on sockets open within
|
exception of _zmq_close()_, any further operations on sockets open within
|
||||||
'context' shall fail with an error code of ETERM.
|
'context' shall fail with an error code of ETERM.
|
||||||
|
|
||||||
2. After interrupting all blocking calls, _zmq_ctx_term()_ shall _block_ until the
|
2. After interrupting all blocking calls, _zmq_ctx_term()_ shall _block_ until
|
||||||
following conditions are satisfied:
|
the following conditions are satisfied:
|
||||||
|
|
||||||
* All sockets open within 'context' have been closed with _zmq_close()_.
|
* All sockets open within 'context' have been closed with _zmq_close()_.
|
||||||
|
|
||||||
@ -39,6 +39,15 @@ option in linkzmq:zmq_setsockopt[3].
|
|||||||
This function replaces the deprecated function linkzmq:zmq_term[3].
|
This function replaces the deprecated function linkzmq:zmq_term[3].
|
||||||
|
|
||||||
|
|
||||||
|
WARNING
|
||||||
|
-------
|
||||||
|
|
||||||
|
As _ZMQ_LINGER_ defaults to "infinite", by default this function will block
|
||||||
|
indefinitely if there are any pending connects or sends. We strongly
|
||||||
|
recommend to (a) set _ZMQ_LINGER_ to zero on all sockets and (b) close all
|
||||||
|
sockets, before calling this function.
|
||||||
|
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
The _zmq_ctx_term()_ function shall return zero if successful. Otherwise
|
The _zmq_ctx_term()_ function shall return zero if successful. Otherwise
|
||||||
|
@ -1 +0,0 @@
|
|||||||
zmq_pgm.txt
|
|
@ -676,23 +676,6 @@ Option value unit:: N/A
|
|||||||
Default value:: not set
|
Default value:: not set
|
||||||
Applicable socket types:: all, when using TCP transport
|
Applicable socket types:: all, when using TCP transport
|
||||||
|
|
||||||
ZMQ_IDENTITY_FD: Retrieve FD associated with igven identity
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
The 'ZMQ_IDENTITY_FD' option shall retrieve the FD associated with given identity.
|
|
||||||
call _zmq_getsockopt()_ with _option_value_ / _option_len_ pointing to memory
|
|
||||||
holding the identity string. On return the start of _option_value_ buffer will be
|
|
||||||
filled with file descriptor of the pipe with given identity if found. If the identity
|
|
||||||
is not found ENOTSOCK is returned as _zmq_getsockopt()_ result. When the pipe is not
|
|
||||||
using FD as lower transport you might get -1 as FD. NB: _option_value_ must be always
|
|
||||||
big enough to hold sizeof(fd_t) bytes no matter how small the identity length is.
|
|
||||||
|
|
||||||
[horizontal]
|
|
||||||
Option value type:: character string/fd_t
|
|
||||||
Option value unit:: N/A
|
|
||||||
Default value:: not set
|
|
||||||
Applicable socket types:: ROUTER
|
|
||||||
|
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
|
@ -57,6 +57,12 @@ NOTE: IPC pathnames have a maximum size that depends on the operating system.
|
|||||||
On Linux, the maximum is 113 characters including the "ipc://" prefix (107
|
On Linux, the maximum is 113 characters including the "ipc://" prefix (107
|
||||||
characters for the real path name).
|
characters for the real path name).
|
||||||
|
|
||||||
|
Unbinding wild-card address from a socket
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
When wild-card `*` 'endpoint' was used in _zmq_bind()_, the caller should use
|
||||||
|
real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind
|
||||||
|
this 'endpoint' from a socket using _zmq_unbind()_.
|
||||||
|
|
||||||
Connecting a socket
|
Connecting a socket
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
When connecting a 'socket' to a peer address using _zmq_connect()_ with the
|
When connecting a 'socket' to a peer address using _zmq_connect()_ with the
|
||||||
|
@ -19,8 +19,22 @@ property specified by the 'property' argument for the message pointed to by
|
|||||||
the 'message' argument. Both the 'property' argument and the 'value'
|
the 'message' argument. Both the 'property' argument and the 'value'
|
||||||
shall be NULL-terminated UTF8-encoded strings.
|
shall be NULL-terminated UTF8-encoded strings.
|
||||||
|
|
||||||
The following properties can be retrieved with the _zmq_msg_gets()_ function:
|
Metadata is defined on a per-connection basis during the ZeroMQ connection
|
||||||
|
handshake as specified in <rfc.zeromq.org/spec:37>.
|
||||||
|
|
||||||
|
The following ZMTP properties can be retrieved with the _zmq_msg_gets()_
|
||||||
|
function:
|
||||||
|
|
||||||
|
Socket-Type
|
||||||
|
Identity
|
||||||
|
Resource
|
||||||
|
|
||||||
|
Additionally, when available for the underlying transport, the *Peer-Address*
|
||||||
|
property will return the IP address of the remote endpoint as returned by
|
||||||
|
getnameinfo(2).
|
||||||
|
|
||||||
|
Other properties may be defined based on the underlying security mechanism,
|
||||||
|
see ZAP authenticated connection sample below.
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
|
@ -28,8 +28,7 @@ _zmq_msg_init_size()_ are mutually exclusive. Never initialize the same
|
|||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
The _zmq_msg_init()_ function shall return zero if successful. Otherwise it
|
The _zmq_msg_init()_ function always returns zero.
|
||||||
shall return `-1` and set 'errno' to one of the values defined below.
|
|
||||||
|
|
||||||
|
|
||||||
ERRORS
|
ERRORS
|
||||||
|
@ -283,77 +283,6 @@ Default value:: 0 (false)
|
|||||||
Applicable socket types:: all, only for connection-oriented transports.
|
Applicable socket types:: all, only for connection-oriented transports.
|
||||||
|
|
||||||
|
|
||||||
ZMQ_IPC_FILTER_GID: Assign group ID filters to allow new IPC connections
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Assign an arbitrary number of filters that will be applied for each new IPC
|
|
||||||
transport connection on a listening socket. If no IPC filters are applied, then
|
|
||||||
the IPC transport allows connections from any process. If at least one UID,
|
|
||||||
GID, or PID filter is applied then new connection credentials should be
|
|
||||||
matched. To clear all GID filters call zmq_setsockopt(socket,
|
|
||||||
ZMQ_IPC_FILTER_GID, NULL, 0).
|
|
||||||
|
|
||||||
NOTE: GID filters are only available on platforms supporting SO_PEERCRED or
|
|
||||||
LOCAL_PEERCRED socket options (currently only Linux and later versions of
|
|
||||||
OS X).
|
|
||||||
|
|
||||||
[horizontal]
|
|
||||||
Option value type:: gid_t
|
|
||||||
Option value unit:: N/A
|
|
||||||
Default value:: no filters (allow from all)
|
|
||||||
Applicable socket types:: all listening sockets, when using IPC transports.
|
|
||||||
|
|
||||||
|
|
||||||
ZMQ_IPC_FILTER_PID: Assign process ID filters to allow new IPC connections
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Assign an arbitrary number of filters that will be applied for each new IPC
|
|
||||||
transport connection on a listening socket. If no IPC filters are applied, then
|
|
||||||
the IPC transport allows connections from any process. If at least one UID,
|
|
||||||
GID, or PID filter is applied then new connection credentials should be
|
|
||||||
matched. To clear all PID filters call zmq_setsockopt(socket,
|
|
||||||
ZMQ_IPC_FILTER_PID, NULL, 0).
|
|
||||||
|
|
||||||
NOTE: PID filters are only available on platforms supporting the SO_PEERCRED
|
|
||||||
socket option (currently only Linux).
|
|
||||||
|
|
||||||
[horizontal]
|
|
||||||
Option value type:: pid_t
|
|
||||||
Option value unit:: N/A
|
|
||||||
Default value:: no filters (allow from all)
|
|
||||||
Applicable socket types:: all listening sockets, when using IPC transports.
|
|
||||||
|
|
||||||
|
|
||||||
ZMQ_IPC_FILTER_UID: Assign user ID filters to allow new IPC connections
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Assign an arbitrary number of filters that will be applied for each new IPC
|
|
||||||
transport connection on a listening socket. If no IPC filters are applied, then
|
|
||||||
the IPC transport allows connections from any process. If at least one UID,
|
|
||||||
GID, or PID filter is applied then new connection credentials should be
|
|
||||||
matched. To clear all UID filters call zmq_setsockopt(socket,
|
|
||||||
ZMQ_IPC_FILTER_UID, NULL, 0).
|
|
||||||
|
|
||||||
NOTE: UID filters are only available on platforms supporting SO_PEERCRED or
|
|
||||||
LOCAL_PEERCRED socket options (currently only Linux and later versions of
|
|
||||||
OS X).
|
|
||||||
|
|
||||||
[horizontal]
|
|
||||||
Option value type:: uid_t
|
|
||||||
Option value unit:: N/A
|
|
||||||
Default value:: no filters (allow from all)
|
|
||||||
Applicable socket types:: all listening sockets, when using IPC transports.
|
|
||||||
|
|
||||||
|
|
||||||
ZMQ_IPV4ONLY: Use IPv4-only on socket
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Set the IPv4-only option for the socket. This option is deprecated.
|
|
||||||
Please use the ZMQ_IPV6 option.
|
|
||||||
|
|
||||||
[horizontal]
|
|
||||||
Option value type:: int
|
|
||||||
Option value unit:: boolean
|
|
||||||
Default value:: 1 (true)
|
|
||||||
Applicable socket types:: all, when using TCP transports.
|
|
||||||
|
|
||||||
|
|
||||||
ZMQ_IPV6: Enable IPv6 on socket
|
ZMQ_IPV6: Enable IPv6 on socket
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Set the IPv6 option for the socket. A value of `1` means IPv6 is
|
Set the IPv6 option for the socket. A value of `1` means IPv6 is
|
||||||
@ -604,7 +533,7 @@ ZMQ_REQ_CORRELATE: match replies with requests
|
|||||||
The default behavior of REQ sockets is to rely on the ordering of messages to
|
The default behavior of REQ sockets is to rely on the ordering of messages to
|
||||||
match requests and responses and that is usually sufficient. When this option
|
match requests and responses and that is usually sufficient. When this option
|
||||||
is set to 1, the REQ socket will prefix outgoing messages with an extra frame
|
is set to 1, the REQ socket will prefix outgoing messages with an extra frame
|
||||||
containing a request id. That means the full message is (request id, 0,
|
containing a request id. That means the full message is (request id, identity, 0,
|
||||||
user frames...). The REQ socket will discard all incoming messages that don't
|
user frames...). The REQ socket will discard all incoming messages that don't
|
||||||
begin with these two frames.
|
begin with these two frames.
|
||||||
|
|
||||||
@ -760,25 +689,6 @@ Default value:: N/A
|
|||||||
Applicable socket types:: ZMQ_SUB
|
Applicable socket types:: ZMQ_SUB
|
||||||
|
|
||||||
|
|
||||||
ZMQ_TCP_ACCEPT_FILTER: Assign filters to allow new TCP connections
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
Assign an arbitrary number of filters that will be applied for each new TCP
|
|
||||||
transport connection on a listening socket. If no filters are applied, then
|
|
||||||
the TCP transport allows connections from any IP address. If at least one
|
|
||||||
filter is applied then new connection source ip should be matched. To clear
|
|
||||||
all filters call zmq_setsockopt(socket, ZMQ_TCP_ACCEPT_FILTER, NULL, 0).
|
|
||||||
Filter is a null-terminated string with ipv6 or ipv4 CIDR.
|
|
||||||
|
|
||||||
NOTE: This option is deprecated, please use authentication via the ZAP API
|
|
||||||
and IP address whitelisting / blacklisting.
|
|
||||||
|
|
||||||
[horizontal]
|
|
||||||
Option value type:: binary data
|
|
||||||
Option value unit:: N/A
|
|
||||||
Default value:: no filters (allow from all)
|
|
||||||
Applicable socket types:: all listening sockets, when using TCP transports.
|
|
||||||
|
|
||||||
|
|
||||||
ZMQ_TCP_KEEPALIVE: Override SO_KEEPALIVE socket option
|
ZMQ_TCP_KEEPALIVE: Override SO_KEEPALIVE socket option
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
Override 'SO_KEEPALIVE' socket option (where supported by OS).
|
Override 'SO_KEEPALIVE' socket option (where supported by OS).
|
||||||
@ -886,6 +796,104 @@ Default value:: not set
|
|||||||
Applicable socket types:: all, when using TCP transport
|
Applicable socket types:: all, when using TCP transport
|
||||||
|
|
||||||
|
|
||||||
|
ZMQ_TCP_ACCEPT_FILTER: Assign filters to allow new TCP connections
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Assign an arbitrary number of filters that will be applied for each new TCP
|
||||||
|
transport connection on a listening socket. If no filters are applied, then
|
||||||
|
the TCP transport allows connections from any IP address. If at least one
|
||||||
|
filter is applied then new connection source ip should be matched. To clear
|
||||||
|
all filters call zmq_setsockopt(socket, ZMQ_TCP_ACCEPT_FILTER, NULL, 0).
|
||||||
|
Filter is a null-terminated string with ipv6 or ipv4 CIDR.
|
||||||
|
|
||||||
|
NOTE: This option is deprecated, please use authentication via the ZAP API
|
||||||
|
and IP address whitelisting / blacklisting.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Option value type:: binary data
|
||||||
|
Option value unit:: N/A
|
||||||
|
Default value:: no filters (allow from all)
|
||||||
|
Applicable socket types:: all listening sockets, when using TCP transports.
|
||||||
|
|
||||||
|
|
||||||
|
ZMQ_IPC_FILTER_GID: Assign group ID filters to allow new IPC connections
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Assign an arbitrary number of filters that will be applied for each new IPC
|
||||||
|
transport connection on a listening socket. If no IPC filters are applied, then
|
||||||
|
the IPC transport allows connections from any process. If at least one UID,
|
||||||
|
GID, or PID filter is applied then new connection credentials should be
|
||||||
|
matched. To clear all GID filters call zmq_setsockopt(socket,
|
||||||
|
ZMQ_IPC_FILTER_GID, NULL, 0).
|
||||||
|
|
||||||
|
NOTE: GID filters are only available on platforms supporting SO_PEERCRED or
|
||||||
|
LOCAL_PEERCRED socket options (currently only Linux and later versions of
|
||||||
|
OS X).
|
||||||
|
|
||||||
|
NOTE: This option is deprecated, please use authentication via the ZAP API
|
||||||
|
and IPC whitelisting / blacklisting.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Option value type:: gid_t
|
||||||
|
Option value unit:: N/A
|
||||||
|
Default value:: no filters (allow from all)
|
||||||
|
Applicable socket types:: all listening sockets, when using IPC transports.
|
||||||
|
|
||||||
|
|
||||||
|
ZMQ_IPC_FILTER_PID: Assign process ID filters to allow new IPC connections
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Assign an arbitrary number of filters that will be applied for each new IPC
|
||||||
|
transport connection on a listening socket. If no IPC filters are applied, then
|
||||||
|
the IPC transport allows connections from any process. If at least one UID,
|
||||||
|
GID, or PID filter is applied then new connection credentials should be
|
||||||
|
matched. To clear all PID filters call zmq_setsockopt(socket,
|
||||||
|
ZMQ_IPC_FILTER_PID, NULL, 0).
|
||||||
|
|
||||||
|
NOTE: PID filters are only available on platforms supporting the SO_PEERCRED
|
||||||
|
socket option (currently only Linux).
|
||||||
|
|
||||||
|
NOTE: This option is deprecated, please use authentication via the ZAP API
|
||||||
|
and IPC whitelisting / blacklisting.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Option value type:: pid_t
|
||||||
|
Option value unit:: N/A
|
||||||
|
Default value:: no filters (allow from all)
|
||||||
|
Applicable socket types:: all listening sockets, when using IPC transports.
|
||||||
|
|
||||||
|
|
||||||
|
ZMQ_IPC_FILTER_UID: Assign user ID filters to allow new IPC connections
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Assign an arbitrary number of filters that will be applied for each new IPC
|
||||||
|
transport connection on a listening socket. If no IPC filters are applied, then
|
||||||
|
the IPC transport allows connections from any process. If at least one UID,
|
||||||
|
GID, or PID filter is applied then new connection credentials should be
|
||||||
|
matched. To clear all UID filters call zmq_setsockopt(socket,
|
||||||
|
ZMQ_IPC_FILTER_UID, NULL, 0).
|
||||||
|
|
||||||
|
NOTE: UID filters are only available on platforms supporting SO_PEERCRED or
|
||||||
|
LOCAL_PEERCRED socket options (currently only Linux and later versions of
|
||||||
|
OS X).
|
||||||
|
|
||||||
|
NOTE: This option is deprecated, please use authentication via the ZAP API
|
||||||
|
and IPC whitelisting / blacklisting.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Option value type:: uid_t
|
||||||
|
Option value unit:: N/A
|
||||||
|
Default value:: no filters (allow from all)
|
||||||
|
Applicable socket types:: all listening sockets, when using IPC transports.
|
||||||
|
|
||||||
|
|
||||||
|
ZMQ_IPV4ONLY: Use IPv4-only on socket
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
Set the IPv4-only option for the socket. This option is deprecated.
|
||||||
|
Please use the ZMQ_IPV6 option.
|
||||||
|
|
||||||
|
[horizontal]
|
||||||
|
Option value type:: int
|
||||||
|
Option value unit:: boolean
|
||||||
|
Default value:: 1 (true)
|
||||||
|
Applicable socket types:: all, when using TCP transports.
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
The _zmq_setsockopt()_ function shall return zero if successful. Otherwise it
|
The _zmq_setsockopt()_ function shall return zero if successful. Otherwise it
|
||||||
|
@ -46,6 +46,11 @@ When using ephemeral ports, the caller should retrieve the actual assigned
|
|||||||
port using the ZMQ_LAST_ENDPOINT socket option. See linkzmq:zmq_getsockopt[3]
|
port using the ZMQ_LAST_ENDPOINT socket option. See linkzmq:zmq_getsockopt[3]
|
||||||
for details.
|
for details.
|
||||||
|
|
||||||
|
Unbinding wild-card addres from a socket
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
When wild-card `*` 'endpoint' was used in _zmq_bind()_, the caller should use
|
||||||
|
real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option to unbind
|
||||||
|
this 'endpoint' from a socket using _zmq_unbind()_.
|
||||||
|
|
||||||
Connecting a socket
|
Connecting a socket
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -20,6 +20,12 @@ argument.
|
|||||||
|
|
||||||
The 'endpoint' argument is as described in linkzmq:zmq_bind[3]
|
The 'endpoint' argument is as described in linkzmq:zmq_bind[3]
|
||||||
|
|
||||||
|
Unbinding wild-card addres from a socket
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
When wild-card `*` 'endpoint' (described in linkzmq:zmq_tcp[7] and
|
||||||
|
linkzmq:zmq_ipc[7]) was used in _zmq_bind()_, the caller should use
|
||||||
|
real 'endpoind' obtained from the ZMQ_LAST_ENDPOINT socket option
|
||||||
|
to unbind this 'endpoint' from a socket.
|
||||||
|
|
||||||
RETURN VALUE
|
RETURN VALUE
|
||||||
------------
|
------------
|
||||||
@ -36,8 +42,8 @@ The 0MQ 'context' associated with the specified 'socket' was terminated.
|
|||||||
The provided 'socket' was invalid.
|
The provided 'socket' was invalid.
|
||||||
|
|
||||||
|
|
||||||
EXAMPLE
|
EXAMPLES
|
||||||
-------
|
--------
|
||||||
.Unbind a subscriber socket from a TCP transport
|
.Unbind a subscriber socket from a TCP transport
|
||||||
----
|
----
|
||||||
/* Create a ZMQ_SUB socket */
|
/* Create a ZMQ_SUB socket */
|
||||||
@ -51,6 +57,23 @@ rc = zmq_unbind (socket, "tcp://127.0.0.1:5555");
|
|||||||
assert (rc == 0);
|
assert (rc == 0);
|
||||||
----
|
----
|
||||||
|
|
||||||
|
.Unbind wild-card `*` binded socket
|
||||||
|
----
|
||||||
|
/* Create a ZMQ_SUB socket */
|
||||||
|
void *socket = zmq_socket (context, ZMQ_SUB);
|
||||||
|
assert (socket);
|
||||||
|
/* Bind it to the system-assigned ephemeral port using a TCP transport */
|
||||||
|
rc = zmq_bind (socket, "tcp://127.0.0.1:*");
|
||||||
|
assert (rc == 0);
|
||||||
|
/* Obtain real endpoint */
|
||||||
|
const size_t buf_size = 32;
|
||||||
|
char buf[buf_size];
|
||||||
|
rc = zmq_getsockopt (socket, ZMQ_LAST_ENDPOINT, buf, (size_t *)&buf_size);
|
||||||
|
assert (rc == 0);
|
||||||
|
/* Unbind socket by real endpoint */
|
||||||
|
rc = zmq_unbind (socket, buf);
|
||||||
|
assert (rc == 0);
|
||||||
|
----
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
SUBDIRS = $(pgm_subdir)
|
|
||||||
DIST_SUBDIRS =
|
|
||||||
# Override Automake's installation targets with the command ":" that does nothing.
|
|
||||||
install:; @:
|
|
||||||
install-exec:; @:
|
|
||||||
install-data:; @:
|
|
||||||
uninstall:; @:
|
|
||||||
dist:; @;
|
|
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
@ -31,7 +31,7 @@
|
|||||||
/* Version macros for compile-time API version detection */
|
/* Version macros for compile-time API version detection */
|
||||||
#define ZMQ_VERSION_MAJOR 4
|
#define ZMQ_VERSION_MAJOR 4
|
||||||
#define ZMQ_VERSION_MINOR 1
|
#define ZMQ_VERSION_MINOR 1
|
||||||
#define ZMQ_VERSION_PATCH 0
|
#define ZMQ_VERSION_PATCH 5
|
||||||
|
|
||||||
#define ZMQ_MAKE_VERSION(major, minor, patch) \
|
#define ZMQ_MAKE_VERSION(major, minor, patch) \
|
||||||
((major) * 10000 + (minor) * 100 + (patch))
|
((major) * 10000 + (minor) * 100 + (patch))
|
||||||
@ -71,17 +71,18 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Define integer types needed for event interface */
|
/* Define integer types needed for event interface */
|
||||||
|
#define ZMQ_DEFINED_STDINT 1
|
||||||
#if defined ZMQ_HAVE_SOLARIS || defined ZMQ_HAVE_OPENVMS
|
#if defined ZMQ_HAVE_SOLARIS || defined ZMQ_HAVE_OPENVMS
|
||||||
# include <inttypes.h>
|
# include <inttypes.h>
|
||||||
#elif defined _MSC_VER && _MSC_VER < 1600
|
#elif defined _MSC_VER && _MSC_VER < 1600
|
||||||
# ifndef int32_t
|
# ifndef int32_t
|
||||||
typedef __int32 int32_t;
|
typedef __int32 int32_t;
|
||||||
# endif
|
# endif
|
||||||
# ifndef uint16_t
|
# ifndef uint16_t
|
||||||
typedef unsigned __int16 uint16_t;
|
typedef unsigned __int16 uint16_t;
|
||||||
# endif
|
# endif
|
||||||
# ifndef uint8_t
|
# ifndef uint8_t
|
||||||
typedef unsigned __int8 uint8_t;
|
typedef unsigned __int8 uint8_t;
|
||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
# include <stdint.h>
|
# include <stdint.h>
|
||||||
@ -204,7 +205,7 @@ ZMQ_EXPORT int zmq_ctx_destroy (void *context);
|
|||||||
/* 0MQ message definition. */
|
/* 0MQ message definition. */
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
|
|
||||||
typedef struct zmq_msg_t {unsigned char _ [48];} zmq_msg_t;
|
typedef struct zmq_msg_t {unsigned char _ [64];} zmq_msg_t;
|
||||||
|
|
||||||
typedef void (zmq_free_fn) (void *data, void *hint);
|
typedef void (zmq_free_fn) (void *data, void *hint);
|
||||||
|
|
||||||
@ -276,7 +277,6 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property);
|
|||||||
#define ZMQ_TCP_KEEPALIVE_CNT 35
|
#define ZMQ_TCP_KEEPALIVE_CNT 35
|
||||||
#define ZMQ_TCP_KEEPALIVE_IDLE 36
|
#define ZMQ_TCP_KEEPALIVE_IDLE 36
|
||||||
#define ZMQ_TCP_KEEPALIVE_INTVL 37
|
#define ZMQ_TCP_KEEPALIVE_INTVL 37
|
||||||
#define ZMQ_TCP_ACCEPT_FILTER 38
|
|
||||||
#define ZMQ_IMMEDIATE 39
|
#define ZMQ_IMMEDIATE 39
|
||||||
#define ZMQ_XPUB_VERBOSE 40
|
#define ZMQ_XPUB_VERBOSE 40
|
||||||
#define ZMQ_ROUTER_RAW 41
|
#define ZMQ_ROUTER_RAW 41
|
||||||
@ -296,16 +296,12 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property);
|
|||||||
#define ZMQ_ZAP_DOMAIN 55
|
#define ZMQ_ZAP_DOMAIN 55
|
||||||
#define ZMQ_ROUTER_HANDOVER 56
|
#define ZMQ_ROUTER_HANDOVER 56
|
||||||
#define ZMQ_TOS 57
|
#define ZMQ_TOS 57
|
||||||
#define ZMQ_IPC_FILTER_PID 58
|
|
||||||
#define ZMQ_IPC_FILTER_UID 59
|
|
||||||
#define ZMQ_IPC_FILTER_GID 60
|
|
||||||
#define ZMQ_CONNECT_RID 61
|
#define ZMQ_CONNECT_RID 61
|
||||||
#define ZMQ_GSSAPI_SERVER 62
|
#define ZMQ_GSSAPI_SERVER 62
|
||||||
#define ZMQ_GSSAPI_PRINCIPAL 63
|
#define ZMQ_GSSAPI_PRINCIPAL 63
|
||||||
#define ZMQ_GSSAPI_SERVICE_PRINCIPAL 64
|
#define ZMQ_GSSAPI_SERVICE_PRINCIPAL 64
|
||||||
#define ZMQ_GSSAPI_PLAINTEXT 65
|
#define ZMQ_GSSAPI_PLAINTEXT 65
|
||||||
#define ZMQ_HANDSHAKE_IVL 66
|
#define ZMQ_HANDSHAKE_IVL 66
|
||||||
#define ZMQ_IDENTITY_FD 67
|
|
||||||
#define ZMQ_SOCKS_PROXY 68
|
#define ZMQ_SOCKS_PROXY 68
|
||||||
#define ZMQ_XPUB_NODROP 69
|
#define ZMQ_XPUB_NODROP 69
|
||||||
|
|
||||||
@ -325,6 +321,10 @@ ZMQ_EXPORT const char *zmq_msg_gets (zmq_msg_t *msg, const char *property);
|
|||||||
#define ZMQ_GSSAPI 3
|
#define ZMQ_GSSAPI 3
|
||||||
|
|
||||||
/* Deprecated options and aliases */
|
/* Deprecated options and aliases */
|
||||||
|
#define ZMQ_TCP_ACCEPT_FILTER 38
|
||||||
|
#define ZMQ_IPC_FILTER_PID 58
|
||||||
|
#define ZMQ_IPC_FILTER_UID 59
|
||||||
|
#define ZMQ_IPC_FILTER_GID 60
|
||||||
#define ZMQ_IPV4ONLY 31
|
#define ZMQ_IPV4ONLY 31
|
||||||
#define ZMQ_DELAY_ATTACH_ON_CONNECT ZMQ_IMMEDIATE
|
#define ZMQ_DELAY_ATTACH_ON_CONNECT ZMQ_IMMEDIATE
|
||||||
#define ZMQ_NOBLOCK ZMQ_DONTWAIT
|
#define ZMQ_NOBLOCK ZMQ_DONTWAIT
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of 0MQ.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!-- These values are populated into the package.gsl templates by package.bat. -->
|
<!-- These values are populated into the package.gsl templates by package.bat. -->
|
||||||
<!-- The target attribute controls path and file name only, id controls package naming. -->
|
<!-- The target attribute controls path and file name only, id controls package naming. -->
|
||||||
<package id="libzmq_vc120" target="libzmq" version = "4.1.0.7" pathversion="4_1_0_7" platformtoolset="v120">
|
<package id="libzmq_vc120" target="libzmq" version = "4.1.5.0" pathversion="4_1_5_0" platformtoolset="v120">
|
||||||
<dependency id="libsodium_vc120" version="0.5.0.0" />
|
<dependency id="libsodium_vc120" version="0.5.0.0" />
|
||||||
</package>
|
</package>
|
@ -1,22 +0,0 @@
|
|||||||
AM_CPPFLAGS = -I$(top_builddir)/include \
|
|
||||||
-I$(top_srcdir)/include
|
|
||||||
|
|
||||||
noinst_PROGRAMS = local_lat remote_lat local_thr remote_thr inproc_lat inproc_thr
|
|
||||||
|
|
||||||
local_lat_LDADD = $(top_builddir)/src/libzmq.la
|
|
||||||
local_lat_SOURCES = local_lat.cpp
|
|
||||||
|
|
||||||
remote_lat_LDADD = $(top_builddir)/src/libzmq.la
|
|
||||||
remote_lat_SOURCES = remote_lat.cpp
|
|
||||||
|
|
||||||
local_thr_LDADD = $(top_builddir)/src/libzmq.la
|
|
||||||
local_thr_SOURCES = local_thr.cpp
|
|
||||||
|
|
||||||
remote_thr_LDADD = $(top_builddir)/src/libzmq.la
|
|
||||||
remote_thr_SOURCES = remote_thr.cpp
|
|
||||||
|
|
||||||
inproc_lat_LDADD = $(top_builddir)/src/libzmq.la
|
|
||||||
inproc_lat_SOURCES = inproc_lat.cpp
|
|
||||||
|
|
||||||
inproc_thr_LDADD = $(top_builddir)/src/libzmq.la
|
|
||||||
inproc_thr_SOURCES = inproc_thr.cpp
|
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -3,17 +3,27 @@
|
|||||||
Copyright (c) 2009-2011 250bpm s.r.o.
|
Copyright (c) 2009-2011 250bpm s.r.o.
|
||||||
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2011 Other contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
219
src/Makefile.am
219
src/Makefile.am
@ -1,219 +0,0 @@
|
|||||||
lib_LTLIBRARIES = libzmq.la
|
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
pkgconfig_DATA = libzmq.pc
|
|
||||||
|
|
||||||
include_HEADERS = ../include/zmq.h ../include/zmq_utils.h
|
|
||||||
|
|
||||||
libzmq_la_SOURCES = \
|
|
||||||
address.hpp \
|
|
||||||
array.hpp \
|
|
||||||
atomic_counter.hpp \
|
|
||||||
atomic_ptr.hpp \
|
|
||||||
blob.hpp \
|
|
||||||
clock.hpp \
|
|
||||||
command.hpp \
|
|
||||||
config.hpp \
|
|
||||||
ctx.hpp \
|
|
||||||
curve_client.hpp \
|
|
||||||
curve_server.hpp \
|
|
||||||
decoder.hpp \
|
|
||||||
devpoll.hpp \
|
|
||||||
dist.hpp \
|
|
||||||
encoder.hpp \
|
|
||||||
epoll.hpp \
|
|
||||||
err.hpp \
|
|
||||||
fd.hpp \
|
|
||||||
fq.hpp \
|
|
||||||
gssapi_mechanism_base.hpp \
|
|
||||||
gssapi_client.hpp \
|
|
||||||
gssapi_server.hpp \
|
|
||||||
i_encoder.hpp \
|
|
||||||
i_decoder.hpp \
|
|
||||||
i_engine.hpp \
|
|
||||||
i_poll_events.hpp \
|
|
||||||
io_object.hpp \
|
|
||||||
io_thread.hpp \
|
|
||||||
ip.hpp \
|
|
||||||
ipc_address.hpp \
|
|
||||||
ipc_connecter.hpp \
|
|
||||||
ipc_listener.hpp \
|
|
||||||
i_engine.hpp \
|
|
||||||
i_poll_events.hpp \
|
|
||||||
kqueue.hpp \
|
|
||||||
lb.hpp \
|
|
||||||
likely.hpp \
|
|
||||||
mailbox.hpp \
|
|
||||||
mechanism.hpp \
|
|
||||||
metadata.hpp \
|
|
||||||
msg.hpp \
|
|
||||||
mtrie.hpp \
|
|
||||||
mutex.hpp \
|
|
||||||
norm_engine.hpp \
|
|
||||||
null_mechanism.hpp \
|
|
||||||
object.hpp \
|
|
||||||
options.hpp \
|
|
||||||
own.hpp \
|
|
||||||
pgm_receiver.hpp \
|
|
||||||
pgm_sender.hpp \
|
|
||||||
pgm_socket.hpp \
|
|
||||||
pipe.hpp \
|
|
||||||
plain_client.hpp \
|
|
||||||
plain_server.hpp \
|
|
||||||
platform.hpp \
|
|
||||||
poll.hpp \
|
|
||||||
poller.hpp \
|
|
||||||
poller_base.hpp \
|
|
||||||
pair.hpp \
|
|
||||||
proxy.hpp \
|
|
||||||
pub.hpp \
|
|
||||||
pull.hpp \
|
|
||||||
push.hpp \
|
|
||||||
random.hpp \
|
|
||||||
reaper.hpp \
|
|
||||||
rep.hpp \
|
|
||||||
req.hpp \
|
|
||||||
select.hpp \
|
|
||||||
session_base.hpp \
|
|
||||||
signaler.hpp \
|
|
||||||
socket_base.hpp \
|
|
||||||
socks.hpp \
|
|
||||||
socks_connecter.hpp \
|
|
||||||
stdint.hpp \
|
|
||||||
stream.hpp \
|
|
||||||
stream_engine.hpp \
|
|
||||||
sub.hpp \
|
|
||||||
tcp.hpp \
|
|
||||||
tcp_address.hpp \
|
|
||||||
tcp_connecter.hpp \
|
|
||||||
tcp_listener.hpp \
|
|
||||||
thread.hpp \
|
|
||||||
trie.hpp \
|
|
||||||
windows.hpp \
|
|
||||||
wire.hpp \
|
|
||||||
xpub.hpp \
|
|
||||||
router.hpp \
|
|
||||||
dealer.hpp \
|
|
||||||
xsub.hpp \
|
|
||||||
ypipe.hpp \
|
|
||||||
ypipe_base.hpp \
|
|
||||||
yqueue.hpp \
|
|
||||||
address.cpp \
|
|
||||||
clock.cpp \
|
|
||||||
ctx.cpp \
|
|
||||||
curve_client.cpp \
|
|
||||||
curve_server.cpp \
|
|
||||||
devpoll.cpp \
|
|
||||||
dist.cpp \
|
|
||||||
epoll.cpp \
|
|
||||||
err.cpp \
|
|
||||||
fq.cpp \
|
|
||||||
gssapi_mechanism_base.cpp \
|
|
||||||
gssapi_client.cpp \
|
|
||||||
gssapi_server.cpp \
|
|
||||||
io_object.cpp \
|
|
||||||
io_thread.cpp \
|
|
||||||
ip.cpp \
|
|
||||||
ipc_address.cpp \
|
|
||||||
ipc_connecter.cpp \
|
|
||||||
ipc_listener.cpp \
|
|
||||||
kqueue.cpp \
|
|
||||||
lb.cpp \
|
|
||||||
mailbox.cpp \
|
|
||||||
mechanism.cpp \
|
|
||||||
metadata.cpp \
|
|
||||||
msg.cpp \
|
|
||||||
mtrie.cpp \
|
|
||||||
norm_engine.cpp \
|
|
||||||
null_mechanism.cpp \
|
|
||||||
object.cpp \
|
|
||||||
options.cpp \
|
|
||||||
own.cpp \
|
|
||||||
pair.cpp \
|
|
||||||
pgm_receiver.cpp \
|
|
||||||
pgm_sender.cpp \
|
|
||||||
pgm_socket.cpp \
|
|
||||||
pipe.cpp \
|
|
||||||
plain_client.cpp \
|
|
||||||
plain_server.cpp \
|
|
||||||
poll.cpp \
|
|
||||||
poller_base.cpp \
|
|
||||||
pull.cpp \
|
|
||||||
push.cpp \
|
|
||||||
proxy.cpp \
|
|
||||||
reaper.cpp \
|
|
||||||
pub.cpp \
|
|
||||||
random.cpp \
|
|
||||||
rep.cpp \
|
|
||||||
req.cpp \
|
|
||||||
select.cpp \
|
|
||||||
session_base.cpp \
|
|
||||||
signaler.cpp \
|
|
||||||
socket_base.cpp \
|
|
||||||
socks.cpp \
|
|
||||||
socks_connecter.cpp \
|
|
||||||
stream.cpp \
|
|
||||||
stream_engine.cpp \
|
|
||||||
sub.cpp \
|
|
||||||
tcp.cpp \
|
|
||||||
tcp_address.cpp \
|
|
||||||
tcp_connecter.cpp \
|
|
||||||
tcp_listener.cpp \
|
|
||||||
thread.cpp \
|
|
||||||
trie.cpp \
|
|
||||||
xpub.cpp \
|
|
||||||
router.cpp \
|
|
||||||
dealer.cpp \
|
|
||||||
v1_decoder.cpp \
|
|
||||||
v1_encoder.cpp \
|
|
||||||
v1_decoder.hpp \
|
|
||||||
v1_encoder.hpp \
|
|
||||||
v2_decoder.cpp \
|
|
||||||
v2_decoder.hpp \
|
|
||||||
v2_encoder.cpp \
|
|
||||||
v2_encoder.hpp \
|
|
||||||
v2_protocol.hpp \
|
|
||||||
xsub.cpp \
|
|
||||||
zmq.cpp \
|
|
||||||
zmq_utils.cpp \
|
|
||||||
raw_decoder.hpp \
|
|
||||||
raw_decoder.cpp \
|
|
||||||
raw_encoder.hpp \
|
|
||||||
raw_encoder.cpp \
|
|
||||||
ypipe_conflate.hpp \
|
|
||||||
dbuffer.hpp \
|
|
||||||
tipc_address.cpp \
|
|
||||||
tipc_address.hpp \
|
|
||||||
tipc_listener.cpp \
|
|
||||||
tipc_listener.hpp \
|
|
||||||
tipc_connecter.cpp \
|
|
||||||
tipc_connecter.hpp
|
|
||||||
|
|
||||||
|
|
||||||
if ON_MINGW
|
|
||||||
libzmq_la_LDFLAGS = -no-undefined -avoid-version -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@
|
|
||||||
else
|
|
||||||
if ON_ANDROID
|
|
||||||
libzmq_la_LDFLAGS = -avoid-version -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@
|
|
||||||
else
|
|
||||||
if ON_LINUX
|
|
||||||
libzmq_la_LDFLAGS = -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@ -Wl,--version-script=$(srcdir)/libzmq.vers
|
|
||||||
else
|
|
||||||
libzmq_la_LDFLAGS = -version-info @LTVER@ @LIBZMQ_EXTRA_LDFLAGS@ -Wl
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
libzmq_la_CXXFLAGS = @LIBZMQ_EXTRA_CXXFLAGS@
|
|
||||||
|
|
||||||
if BUILD_PGM
|
|
||||||
libzmq_la_CPPFLAGS = -I$(top_srcdir)/@pgm_srcdir@/include/
|
|
||||||
libzmq_la_LIBADD = $(top_srcdir)/@pgm_srcdir@/libpgm_noinst.la
|
|
||||||
endif
|
|
||||||
|
|
||||||
dist-hook:
|
|
||||||
-rm $(distdir)/platform.hpp
|
|
||||||
|
|
||||||
EXTRA_DIST = \
|
|
||||||
libzmq.pc.cmake.in \
|
|
||||||
libzmq.vers
|
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
28
src/blob.hpp
28
src/blob.hpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
@ -79,7 +89,11 @@ namespace zmq
|
|||||||
|
|
||||||
// On some OSes the signaler has to be emulated using a TCP
|
// On some OSes the signaler has to be emulated using a TCP
|
||||||
// connection. In such cases following port is used.
|
// connection. In such cases following port is used.
|
||||||
signaler_port = 5905
|
// If 0, it lets the OS choose a free port without requiring use of a
|
||||||
|
// global mutex. The original implementation of a Windows signaler
|
||||||
|
// socket used port 5905 instead of letting the OS choose a free port.
|
||||||
|
// https://github.com/zeromq/libzmq/issues/1542
|
||||||
|
signaler_port = 0
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
40
src/ctx.cpp
40
src/ctx.cpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
@ -36,12 +46,10 @@
|
|||||||
#include "err.hpp"
|
#include "err.hpp"
|
||||||
#include "msg.hpp"
|
#include "msg.hpp"
|
||||||
|
|
||||||
#ifdef HAVE_LIBSODIUM
|
#if defined (ZMQ_USE_TWEETNACL)
|
||||||
#ifdef HAVE_TWEETNACL
|
# include "randombytes.h"
|
||||||
#include "randombytes.h"
|
#elif defined (ZMQ_USE_LIBSODIUM)
|
||||||
#else
|
# include "sodium.h"
|
||||||
#include "sodium.h"
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ZMQ_CTX_TAG_VALUE_GOOD 0xabadcafe
|
#define ZMQ_CTX_TAG_VALUE_GOOD 0xabadcafe
|
||||||
@ -103,7 +111,7 @@ zmq::ctx_t::~ctx_t ()
|
|||||||
|
|
||||||
// If we've done any Curve encryption, we may have a file handle
|
// If we've done any Curve encryption, we may have a file handle
|
||||||
// to /dev/urandom open that needs to be cleaned up.
|
// to /dev/urandom open that needs to be cleaned up.
|
||||||
#ifdef HAVE_LIBSODIUM
|
#if defined (ZMQ_USE_TWEETNACL)
|
||||||
randombytes_close();
|
randombytes_close();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
28
src/ctx.hpp
28
src/ctx.hpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
@ -19,7 +29,7 @@
|
|||||||
|
|
||||||
#include "platform.hpp"
|
#include "platform.hpp"
|
||||||
|
|
||||||
#ifdef HAVE_LIBSODIUM
|
#ifdef ZMQ_HAVE_CURVE
|
||||||
|
|
||||||
#ifdef ZMQ_HAVE_WINDOWS
|
#ifdef ZMQ_HAVE_WINDOWS
|
||||||
#include "windows.hpp"
|
#include "windows.hpp"
|
||||||
@ -38,21 +48,22 @@ zmq::curve_client_t::curve_client_t (const options_t &options_) :
|
|||||||
cn_peer_nonce(1),
|
cn_peer_nonce(1),
|
||||||
sync()
|
sync()
|
||||||
{
|
{
|
||||||
|
int rc;
|
||||||
memcpy (public_key, options_.curve_public_key, crypto_box_PUBLICKEYBYTES);
|
memcpy (public_key, options_.curve_public_key, crypto_box_PUBLICKEYBYTES);
|
||||||
memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
|
memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
|
||||||
memcpy (server_key, options_.curve_server_key, crypto_box_PUBLICKEYBYTES);
|
memcpy (server_key, options_.curve_server_key, crypto_box_PUBLICKEYBYTES);
|
||||||
scoped_lock_t lock (sync);
|
scoped_lock_t lock (sync);
|
||||||
#if defined(HAVE_TWEETNACL)
|
#if defined (ZMQ_USE_TWEETNACL)
|
||||||
// allow opening of /dev/urandom
|
// allow opening of /dev/urandom
|
||||||
unsigned char tmpbytes[4];
|
unsigned char tmpbytes[4];
|
||||||
randombytes(tmpbytes, 4);
|
randombytes(tmpbytes, 4);
|
||||||
#else
|
#else
|
||||||
// todo check return code
|
rc = sodium_init ();
|
||||||
sodium_init();
|
zmq_assert (rc != -1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Generate short-term key pair
|
// Generate short-term key pair
|
||||||
const int rc = crypto_box_keypair (cn_public, cn_secret);
|
rc = crypto_box_keypair (cn_public, cn_secret);
|
||||||
zmq_assert (rc == 0);
|
zmq_assert (rc == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -187,7 +198,6 @@ int zmq::curve_client_t::decode (msg_t *msg_)
|
|||||||
}
|
}
|
||||||
cn_peer_nonce = nonce;
|
cn_peer_nonce = nonce;
|
||||||
|
|
||||||
|
|
||||||
const size_t clen = crypto_box_BOXZEROBYTES + (msg_->size () - 16);
|
const size_t clen = crypto_box_BOXZEROBYTES + (msg_->size () - 16);
|
||||||
|
|
||||||
uint8_t *message_plaintext = static_cast <uint8_t *> (malloc (clen));
|
uint8_t *message_plaintext = static_cast <uint8_t *> (malloc (clen));
|
||||||
@ -253,7 +263,8 @@ int zmq::curve_client_t::produce_hello (msg_t *msg_)
|
|||||||
int rc = crypto_box (hello_box, hello_plaintext,
|
int rc = crypto_box (hello_box, hello_plaintext,
|
||||||
sizeof hello_plaintext,
|
sizeof hello_plaintext,
|
||||||
hello_nonce, server_key, cn_secret);
|
hello_nonce, server_key, cn_secret);
|
||||||
zmq_assert (rc == 0);
|
if (rc == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
rc = msg_->init_size (200);
|
rc = msg_->init_size (200);
|
||||||
errno_assert (rc == 0);
|
errno_assert (rc == 0);
|
||||||
@ -332,7 +343,8 @@ int zmq::curve_client_t::produce_initiate (msg_t *msg_)
|
|||||||
int rc = crypto_box (vouch_box, vouch_plaintext,
|
int rc = crypto_box (vouch_box, vouch_plaintext,
|
||||||
sizeof vouch_plaintext,
|
sizeof vouch_plaintext,
|
||||||
vouch_nonce, cn_server, secret_key);
|
vouch_nonce, cn_server, secret_key);
|
||||||
zmq_assert (rc == 0);
|
if (rc == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
// Assume here that metadata is limited to 256 bytes
|
// Assume here that metadata is limited to 256 bytes
|
||||||
uint8_t initiate_nonce [crypto_box_NONCEBYTES];
|
uint8_t initiate_nonce [crypto_box_NONCEBYTES];
|
||||||
@ -368,7 +380,8 @@ int zmq::curve_client_t::produce_initiate (msg_t *msg_)
|
|||||||
|
|
||||||
rc = crypto_box (initiate_box, initiate_plaintext,
|
rc = crypto_box (initiate_box, initiate_plaintext,
|
||||||
mlen, initiate_nonce, cn_server, cn_secret);
|
mlen, initiate_nonce, cn_server, cn_secret);
|
||||||
zmq_assert (rc == 0);
|
if (rc == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
rc = msg_->init_size (113 + mlen - crypto_box_BOXZEROBYTES);
|
rc = msg_->init_size (113 + mlen - crypto_box_BOXZEROBYTES);
|
||||||
errno_assert (rc == 0);
|
errno_assert (rc == 0);
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
@ -20,15 +30,16 @@
|
|||||||
#ifndef __ZMQ_CURVE_CLIENT_HPP_INCLUDED__
|
#ifndef __ZMQ_CURVE_CLIENT_HPP_INCLUDED__
|
||||||
#define __ZMQ_CURVE_CLIENT_HPP_INCLUDED__
|
#define __ZMQ_CURVE_CLIENT_HPP_INCLUDED__
|
||||||
|
|
||||||
|
#ifdef ZMQ_HAVE_CURVE
|
||||||
|
|
||||||
#include "platform.hpp"
|
#include "platform.hpp"
|
||||||
#include "mutex.hpp"
|
#include "mutex.hpp"
|
||||||
|
|
||||||
#ifdef HAVE_LIBSODIUM
|
#if defined (ZMQ_USE_TWEETNACL)
|
||||||
#ifdef HAVE_TWEETNACL
|
# include "tweetnacl_base.h"
|
||||||
#include "tweetnacl_base.h"
|
# include "randombytes.h"
|
||||||
#include "randombytes.h"
|
#elif defined (ZMQ_USE_LIBSODIUM)
|
||||||
#else
|
# include "sodium.h"
|
||||||
#include "sodium.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if crypto_box_NONCEBYTES != 24 \
|
#if crypto_box_NONCEBYTES != 24 \
|
||||||
@ -36,7 +47,7 @@
|
|||||||
|| crypto_box_SECRETKEYBYTES != 32 \
|
|| crypto_box_SECRETKEYBYTES != 32 \
|
||||||
|| crypto_box_ZEROBYTES != 32 \
|
|| crypto_box_ZEROBYTES != 32 \
|
||||||
|| crypto_box_BOXZEROBYTES != 16
|
|| crypto_box_BOXZEROBYTES != 16
|
||||||
#error "libsodium not built properly"
|
# error "CURVE library not built properly"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "mechanism.hpp"
|
#include "mechanism.hpp"
|
||||||
@ -111,7 +122,6 @@ namespace zmq
|
|||||||
int process_error (const uint8_t *cmd_data, size_t data_size);
|
int process_error (const uint8_t *cmd_data, size_t data_size);
|
||||||
mutex_t sync;
|
mutex_t sync;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
@ -19,7 +29,7 @@
|
|||||||
|
|
||||||
#include "platform.hpp"
|
#include "platform.hpp"
|
||||||
|
|
||||||
#ifdef HAVE_LIBSODIUM
|
#ifdef ZMQ_HAVE_CURVE
|
||||||
|
|
||||||
#ifdef ZMQ_HAVE_WINDOWS
|
#ifdef ZMQ_HAVE_WINDOWS
|
||||||
#include "windows.hpp"
|
#include "windows.hpp"
|
||||||
@ -42,20 +52,21 @@ zmq::curve_server_t::curve_server_t (session_base_t *session_,
|
|||||||
cn_peer_nonce(1),
|
cn_peer_nonce(1),
|
||||||
sync()
|
sync()
|
||||||
{
|
{
|
||||||
|
int rc;
|
||||||
// Fetch our secret key from socket options
|
// Fetch our secret key from socket options
|
||||||
memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
|
memcpy (secret_key, options_.curve_secret_key, crypto_box_SECRETKEYBYTES);
|
||||||
scoped_lock_t lock (sync);
|
scoped_lock_t lock (sync);
|
||||||
#if defined(HAVE_TWEETNACL)
|
#if defined (ZMQ_USE_TWEETNACL)
|
||||||
// allow opening of /dev/urandom
|
// allow opening of /dev/urandom
|
||||||
unsigned char tmpbytes[4];
|
unsigned char tmpbytes[4];
|
||||||
randombytes(tmpbytes, 4);
|
randombytes(tmpbytes, 4);
|
||||||
#else
|
#else
|
||||||
// todo check return code
|
rc = sodium_init ();
|
||||||
sodium_init();
|
zmq_assert (rc != -1);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Generate short-term key pair
|
// Generate short-term key pair
|
||||||
const int rc = crypto_box_keypair (cn_public, cn_secret);
|
rc = crypto_box_keypair (cn_public, cn_secret);
|
||||||
zmq_assert (rc == 0);
|
zmq_assert (rc == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -365,7 +376,8 @@ int zmq::curve_server_t::produce_welcome (msg_t *msg_)
|
|||||||
rc = crypto_box (welcome_ciphertext, welcome_plaintext,
|
rc = crypto_box (welcome_ciphertext, welcome_plaintext,
|
||||||
sizeof welcome_plaintext,
|
sizeof welcome_plaintext,
|
||||||
welcome_nonce, cn_client, secret_key);
|
welcome_nonce, cn_client, secret_key);
|
||||||
zmq_assert (rc == 0);
|
if (rc == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
rc = msg_->init_size (168);
|
rc = msg_->init_size (168);
|
||||||
errno_assert (rc == 0);
|
errno_assert (rc == 0);
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
@ -20,15 +30,17 @@
|
|||||||
#ifndef __ZMQ_CURVE_SERVER_HPP_INCLUDED__
|
#ifndef __ZMQ_CURVE_SERVER_HPP_INCLUDED__
|
||||||
#define __ZMQ_CURVE_SERVER_HPP_INCLUDED__
|
#define __ZMQ_CURVE_SERVER_HPP_INCLUDED__
|
||||||
|
|
||||||
|
#ifdef ZMQ_HAVE_CURVE
|
||||||
|
|
||||||
#include "platform.hpp"
|
#include "platform.hpp"
|
||||||
|
|
||||||
#ifdef HAVE_LIBSODIUM
|
#if defined (ZMQ_USE_TWEETNACL)
|
||||||
#ifdef HAVE_TWEETNACL
|
# include "tweetnacl_base.h"
|
||||||
#include "tweetnacl_base.h"
|
# include "randombytes.h"
|
||||||
#include "randombytes.h"
|
#elif defined (ZMQ_USE_LIBSODIUM)
|
||||||
#else
|
# include "sodium.h"
|
||||||
#include "sodium.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if crypto_box_NONCEBYTES != 24 \
|
#if crypto_box_NONCEBYTES != 24 \
|
||||||
|| crypto_box_PUBLICKEYBYTES != 32 \
|
|| crypto_box_PUBLICKEYBYTES != 32 \
|
||||||
|| crypto_box_SECRETKEYBYTES != 32 \
|
|| crypto_box_SECRETKEYBYTES != 32 \
|
||||||
@ -37,7 +49,7 @@
|
|||||||
|| crypto_secretbox_NONCEBYTES != 24 \
|
|| crypto_secretbox_NONCEBYTES != 24 \
|
||||||
|| crypto_secretbox_ZEROBYTES != 32 \
|
|| crypto_secretbox_ZEROBYTES != 32 \
|
||||||
|| crypto_secretbox_BOXZEROBYTES != 16
|
|| crypto_secretbox_BOXZEROBYTES != 16
|
||||||
#error "libsodium not built properly"
|
# error "CURVE library not built properly"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "mechanism.hpp"
|
#include "mechanism.hpp"
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
28
src/dist.cpp
Executable file → Normal file
28
src/dist.cpp
Executable file → Normal file
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
28
src/dist.hpp
28
src/dist.hpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
29
src/err.cpp
29
src/err.cpp
@ -1,24 +1,33 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "err.hpp"
|
#include "err.hpp"
|
||||||
#include "platform.hpp"
|
|
||||||
|
|
||||||
const char *zmq::errno_to_string (int errno_)
|
const char *zmq::errno_to_string (int errno_)
|
||||||
{
|
{
|
||||||
|
37
src/err.hpp
37
src/err.hpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
@ -31,10 +41,6 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "platform.hpp"
|
#include "platform.hpp"
|
||||||
#include "likely.hpp"
|
|
||||||
|
|
||||||
// 0MQ-specific error codes are defined in zmq.h
|
|
||||||
#include "../include/zmq.h"
|
|
||||||
|
|
||||||
#ifdef ZMQ_HAVE_WINDOWS
|
#ifdef ZMQ_HAVE_WINDOWS
|
||||||
#include "windows.hpp"
|
#include "windows.hpp"
|
||||||
@ -42,6 +48,11 @@
|
|||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "likely.hpp"
|
||||||
|
|
||||||
|
// 0MQ-specific error codes are defined in zmq.h
|
||||||
|
#include "../include/zmq.h"
|
||||||
|
|
||||||
// EPROTO is not used by OpenBSD and maybe other platforms.
|
// EPROTO is not used by OpenBSD and maybe other platforms.
|
||||||
#ifndef EPROTO
|
#ifndef EPROTO
|
||||||
#define EPROTO 0
|
#define EPROTO 0
|
||||||
|
28
src/fd.hpp
28
src/fd.hpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
28
src/fq.cpp
28
src/fq.cpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
28
src/fq.hpp
28
src/fq.hpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
@ -20,8 +30,6 @@
|
|||||||
#ifndef __ZMQ_I_ENGINE_HPP_INCLUDED__
|
#ifndef __ZMQ_I_ENGINE_HPP_INCLUDED__
|
||||||
#define __ZMQ_I_ENGINE_HPP_INCLUDED__
|
#define __ZMQ_I_ENGINE_HPP_INCLUDED__
|
||||||
|
|
||||||
#include "fd.hpp"
|
|
||||||
|
|
||||||
namespace zmq
|
namespace zmq
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -50,9 +58,6 @@ namespace zmq
|
|||||||
virtual void restart_output () = 0;
|
virtual void restart_output () = 0;
|
||||||
|
|
||||||
virtual void zap_msg_available () = 0;
|
virtual void zap_msg_available () = 0;
|
||||||
|
|
||||||
// provide a way to link from engine to file descriptor
|
|
||||||
virtual fd_t get_assoc_fd () { return retired_fd;};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,30 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __ZMQ_I_POLL_EVENTS_HPP_INCLUDED__
|
#ifndef __ZMQ_I_POLL_EVENTS_HPP_INCLUDED__
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
28
src/ip.cpp
28
src/ip.cpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
28
src/ip.hpp
28
src/ip.hpp
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
@ -1,17 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2007-2014 Contributors as noted in the AUTHORS file
|
Copyright (c) 2007-2015 Contributors as noted in the AUTHORS file
|
||||||
|
|
||||||
This file is part of 0MQ.
|
This file is part of libzmq, the ZeroMQ core engine in C++.
|
||||||
|
|
||||||
0MQ is free software; you can redistribute it and/or modify it under
|
libzmq is free software; you can redistribute it and/or modify it under
|
||||||
the terms of the GNU Lesser General Public License as published by
|
the terms of the GNU Lesser General Public License (LGPL) as published
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
by the Free Software Foundation; either version 3 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
0MQ is distributed in the hope that it will be useful,
|
As a special exception, the Contributors give you permission to link
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
this library with independent modules to produce an executable,
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
regardless of the license terms of these independent modules, and to
|
||||||
GNU Lesser General Public License for more details.
|
copy and distribute the resulting executable under terms of your choice,
|
||||||
|
provided that you also meet, for each linked independent module, the
|
||||||
|
terms and conditions of the license of that module. An independent
|
||||||
|
module is a module which is not derived from or based on this library.
|
||||||
|
If you modify this library, you must extend this exception to your
|
||||||
|
version of the library.
|
||||||
|
|
||||||
|
libzmq is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||||||
|
License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU Lesser General Public License
|
You should have received a copy of the GNU Lesser General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user