Luca Boccassi
97a52af242
Merge pull request #3872 from gummif/gfa/poller-size
...
Problem: No support to query poller size
2020-04-17 22:50:34 +01:00
Gudmundur Adalsteinsson
9c6738bb45
Problem: No support to query poller size
...
Solution: Add zmq_poller_size that queries the number
of objects registered, allowing safer usages of poller
to avoid livelock situations.
2020-04-17 18:37:01 +00:00
Doron Somech
81444136d5
problem: router doesn't know when peer disconnected
...
ZMQ_ROUTER_NOTIFY doesn't have a context and doesn't play nice with protocols. with ZMQ_DISCONNECT_MSG we can set it to a protocol message, like DISCONNECT in majordomo. Router will send it when a peer is disconnected. Another advantage of ZMQ_DISCONNECT_MSG is that it also works on inproc.
Together with ZMQ_HEARTBEAT it allows to build very reliable protocols, and much simpler as well.
2020-04-17 18:04:28 +03:00
Luca Boccassi
4c1d720a47
Merge pull request #3870 from somdoron/HELLO_MSG
...
problem: ZMQ_HEARTBEAT is not useful without sending an hello message
2020-04-17 15:24:38 +01:00
Doron Somech
93da6763b0
problem: ZMQ_HEARTBEAT is not useful without sending an hello message
...
When using ZMQ_HEARTBEAT one still needs to implement application-level heartbeat in order to know when to send a hello message.
For example, with the majordomo protocol, the worker needs to send a READY message when connecting to a broker. If the connection to the broker drops, and the heartbeat recognizes it the worker won't know about it and won't send the READY msg.
To solve that, the majordomo worker still has to implement heartbeat. With this new option, whenever the connection drops and reconnects the hello message will be sent, greatly simplify the majordomo protocol, as now READY and HEARTBEAT can be handled by zeromq.
2020-04-17 14:54:58 +03:00
grmt
718ad8ab96
add wss transport and fix tipc tests when building using cmake on linux ( #3857 )
...
* Allow CMAKE to generate ws and wss transports
I guess there is little use of just ws transport, so by default
GnuTLS (and libsodium) are enabled
* cmake libzmq including wss transport (ubuntu 19.10 and ubuntu 19.10 + wsl 1.0)
test_security_fails (libsodium assert !?)
* updated relicense
* make external libs gnutls nss sodium optional
* #ifdef WSS classes and functions, build test*ws* only if correct libs are included, warning if libs not present
* make libsodium optional
* cmake fix tests TIPC transport
* clang-format pointed out a wrongly placed #ifdef
* GnuTLS before 3.6.7 is not safe
* msvc doesn't agree with strlen in array declaration, test_socks now at least compiles on windows
* windows: libsodium build fails, missing include dirs set by env var
* ws transport test only works when GnuTLS is found
* Fixed condition to use NSS / built in SHA1, so that test_ws_transport should now pass, also when GnuTLS is not found
2020-04-13 23:03:19 +01:00
Luca Boccassi
7276b6809a
Merge pull request #3868 from gummif/gfa/poller-sleep
...
Problem: poller sleeps forever if no events
2020-04-13 22:52:46 +01:00
Luca Boccassi
ef4bb9aa5e
Merge pull request #3865 from gummif/gfa/poller-fd-init
...
Problem: poller item fd uninitialized
2020-04-13 22:51:35 +01:00
Gudmundur Adalsteinsson
458d805eb6
Problem: poller sleeps forever if no events
...
Solution: Fail with error if no events are active and timeout is infinite
2020-04-13 21:18:12 +00:00
Gudmundur Adalsteinsson
a468ac782a
Problem: poller item fd uninitialized
...
Solution: Set to zero for socket events
2020-04-13 20:08:08 +00:00
Gudmundur Adalsteinsson
7b1fef28f9
Problem: boilerplate when init msg from data copy ( #3860 )
...
* Problem: boilerplate when init msg from data copy
Solution: Add zmq_msg_init_buffer to construct
a message by copying memory from buffer.
2020-04-09 23:59:43 +01:00
Luca Boccassi
347ff07c94
Merge pull request #3862 from gummif/gfa/poller-formatting
...
Problem: Strange zmq_poller doc formatting
2020-04-09 16:23:02 +01:00
Gudmundur Adalsteinsson
fa2af05d47
Problem: Strange zmq_poller doc formatting
...
Solution: Add newlines and extra asterisks
2020-04-09 14:18:34 +00:00
Luca Boccassi
ae45ac4e1f
Merge pull request #3861 from gummif/gfa/send-doc
...
Problem: zmq_send doc does not match declaration
2020-04-09 15:02:03 +01:00
Gudmundur Adalsteinsson
cbdf075658
Problem: zmq_send doc does not match declaration
...
Solution: add const to pointer type
2020-04-09 13:55:42 +00:00
Luca Boccassi
3c13e9222d
Merge pull request #3851 from gummif/gfa/ts-int
...
Problem: ZMQ_THREAD_SAFE is not bool
2020-03-23 21:11:29 +00:00
Gudmundur Adalsteinsson
e1fc84141d
Problem: ZMQ_THREAD_SAFE is not bool
...
Solution: Change documentation value type to int
2020-03-23 20:49:39 +00:00
Luca Boccassi
323420c5ea
Merge pull request #3850 from JSYoo5B/git-ignore-fix-track
...
Fix gitignore tracking file list
2020-03-18 08:42:22 +00:00
JaeSang Yoo
eceaaf360b
Problem: executable sources are not tracked
...
Solution: Fix .gitignore's exceptions for sources in tools/
2020-03-18 12:51:47 +09:00
Luca Boccassi
876d4bfead
Merge pull request #3849 from ferdnyc/zeromq-config-install
...
Install CMake config to LIBDIR by default, to correctly support multiarch
2020-03-17 08:16:07 +00:00
FeRD (Frank Dana)
a97158aa2a
Add relicensing statement for ferdnyc
...
Signed-off-by: FeRD (Frank Dana) <ferdnyc@gmail.com>
2020-03-16 20:23:12 -04:00
FeRD (Frank Dana)
31569c78d9
Problem: CMake config doesn't support multiarch
...
Solution: Install CMake config in arch-dependent LIBDIR/cmake
Using "share/cmake/${PROJECT_NAME}" as DESTINATION for installing
ZeroMQConfig.cmake et al works for arch-independent configs, but
is wrong for multiarch. The configs for each version of the
library should be stored below the arch-dependent LIBDIR, using
the GNUInstallDirs ${CMAKE_INSTALL_LIBDIR} variable.
Signed-off-by: FeRD (Frank Dana) <ferdnyc@gmail.com>
2020-03-16 20:22:52 -04:00
Luca Boccassi
bb9135da4f
Merge pull request #3847 from JSYoo5B/protocol-literals-refactor
...
Refactor protocol literals into constants
2020-03-14 13:54:17 +00:00
JaeSang Yoo
38fd1fdc8e
Problem: some cond. compile may cause problem
...
Some ifdefs in condition checking may cause problem in some compiler or
static analyzers. When PGM and NORM both are disabled, some condition
will be derived as false || false.
Solution: Splitted condition checking for every ifdef conditions
2020-03-14 22:20:54 +09:00
JaeSang Yoo
4f436ce00f
Problem: some conditional compile was not applied
...
Conditinoal compile for OPENPGM and NORM is mixed.
Also found few codes which needs conditional compile but not applied.
Solution: Apply conditional compile preprocessors
2020-03-14 19:55:54 +09:00
JaeSang Yoo
ebd22ecf85
Problem: literals protocol names still remains
...
Solution: replace into named constants
2020-03-14 19:55:54 +09:00
Luca Boccassi
0c7ee438a8
Merge pull request #3848 from JSYoo5B/optimize-gitignore
...
Optimizing gitignore files
2020-03-14 09:45:10 +00:00
JaeSang Yoo
2478887d4a
Problem: gitignore is messed up
...
Solution: optimize gitigore using patterns
* Categorize ignoring lists
* Use pattern to remove similar lists
* Marked source files to be tracked
2020-03-14 17:57:56 +09:00
Simon Giesecke
656205b5f9
Merge pull request #3844 from bluca/format
...
Problem: msg_t functions do not respect coding style
2020-03-07 14:58:48 +01:00
Luca Boccassi
f9417dab4d
Problem: msg_t functions do not respect coding style
...
Solution: fix them
2020-03-07 13:25:18 +00:00
Luca Boccassi
07d3687621
Merge pull request #3843 from JSYoo5B/man-udp-not-mentioned
...
Add UDP transport to related docs
2020-03-07 11:45:46 +00:00
JaeSang Yoo
ded0d83e47
Problem: wildcard address with udp not mentioned
...
* UDP is mentioned as available transport, and it also supports
wildcard addresses, but not mentioned
* zmq_unbind(7) also mentions about wild-card endpoint in zmq_bind(3)
Solution: add udp in wildcard address related docs
2020-03-07 14:55:01 +09:00
JaeSang Yoo
296beecd24
Problem: UDP is not mentioned in bind and connect
...
zmq_bind(3) and zmq_connect(3) does not mention UDP as available
transport types.
Solution: add udp mentioning line for related docs
2020-03-07 14:35:06 +09:00
Luca Boccassi
f915971653
Merge pull request #3838 from JSYoo5B/osx-build-doc-issue
...
Problem: building on OS X may failed
2020-02-29 13:50:19 +00:00
JaeSang Yoo
87f9e377dd
Problem: building on OS X may failed
...
Solution: Add troubleshooting guidelines to resolve
(Relicensing statement added)
2020-02-29 22:44:59 +09:00
Rickard Hallerbäck
2206cb37e0
ip_resolver_t: Silencing C++-warning -Wnon-virtual-dtor ( #3837 )
...
* ip_resolver_t: adding virtual descructor to silence C++-warning -Wnon-virtual-dtor
* adding my relicense
2020-02-28 16:49:12 +00:00
Mark Jan van Kampen
de0102e927
Fixes old Simon being in there
2020-02-24 09:05:39 +00:00
Mark Jan van Kampen
99cf1c2e96
Fixes tabs
2020-02-24 09:05:39 +00:00
Mark Jan van Kampen
c0abfae0d4
Add relicense
2020-02-24 09:05:39 +00:00
Mark Jan van Kampen
0d42929193
Adds QNX as possible to compile on
2020-02-24 09:05:39 +00:00
Doron Somech
e765143b42
Merge pull request #3833 from bluca/news
...
News out of date, formatting not clean
2020-02-23 22:33:22 +02:00
Luca Boccassi
4f45ac135a
Problem: formatting not up to date
...
Solution: run make clang-format-diff
2020-02-23 18:25:20 +00:00
Luca Boccassi
09476b3d7f
Problem: NEWS out of date with latest changes
...
Solution: update it
2020-02-23 17:37:56 +00:00
Luca Boccassi
e2de3b7986
Problem: no NEWS entry for ZMQ_RECONNECT_STOP
...
Solution: add it
2020-02-23 17:30:25 +00:00
Bill Torpey
debbe08fb8
add option to stop trying to reconnect on ECONNREFUSED ( #3831 )
...
* add option to stop trying to reconnect on ECONNREFUSED
2020-02-23 17:17:22 +00:00
Luca Boccassi
66ee3ee46c
Merge pull request #3832 from stac47/fix_unused_variable
...
Fix unused-variable warning in perf/proxy_thr.cpp
2020-02-21 09:08:30 +00:00
Laurent Stacul
f0b0e80da0
Fix unused-variable warning in perf/proxy_thr.cpp
2020-02-21 08:27:38 +00:00
Luca Boccassi
c7e99cdc4c
Merge pull request #3829 from gcsideal/master
...
Add relicense grant by Laszlo Boszormenyi (GCS)
2020-02-13 22:37:27 +00:00
Laszlo Boszormenyi (GCS)
76969bf51c
Add relicense grant by Laszlo Boszormenyi (GCS)
2020-02-13 22:29:29 +00:00
Luca Boccassi
98e82ddff3
Merge pull request #3828 from sappo/master
...
Android build helper improvement + fix for prefix dir
2020-02-12 22:05:11 +00:00
Kevin Sapper
67e6a8c233
Problem: Usage of ANDROID_BUILD_DIR not documented
...
Solution: Add usage and default value to README
2020-02-12 21:49:25 +01:00
Kevin Sapper
e293b0b9b3
Problem: Setting TOOLCHAIN env vars should be done by helper
...
Solution: Migrate the properties and the selection for the correct env
and abi to the helper. There's no need for the user to specify them.
2020-02-12 21:36:41 +01:00
Kevin Sapper
511d39c179
Problem: Unable to overwrite the ANDROID_BUILD_DIR
...
Solution: Use pwd only a default value
2020-02-12 16:20:27 +01:00
Luca Boccassi
917921095e
Merge pull request #3827 from sappo/master
...
Improve android build handling
2020-02-12 12:27:45 +00:00
Kevin Sapper
1fc4f513f4
Problem: Tables in README are difficult to read
...
Solution: Re-factor them to look like usual tables
2020-02-12 12:25:19 +01:00
Kevin Sapper
341f56ccac
Problem: Android build is hard to understand
...
Solution: Modify the build scripts so the user can specify the platform
for which to build, e.g. `./build.sh arm`. This approach originally
significantly reduces the parameters which have to be set before running
the script.
Further the build process is documented in a README now.
2020-02-12 12:22:27 +01:00
Doron Somech
d5bd1642d1
Merge pull request #3825 from bluca/relicense
...
Add grant by ninoles
2020-02-11 22:18:13 +02:00
Luca Boccassi
b4bfd0f058
Add grant by ninoles
...
Received via email, message-id:
ed4de883-640b-bf7e-ac56-911e117b649e@tzone.org
2020-02-11 20:16:11 +00:00
Luca Boccassi
52044b38f7
Merge pull request #3823 from somdoron/ZMQ_PEER
...
problem: zeromq doesn't has a thread-safe peer to peer socket
2020-02-09 21:53:18 +00:00
Doron Somech
70bc7dd925
problem: zeromq doesn't has a thread-safe peer to peer socket
...
Solution: a new socket type, called PEER. Very similar to SERVER, but can only connect to other PEERs. Also a new zmq_connect_peer method, that connect and return a routing-id in thread-safe and atomic operation
2020-02-09 23:20:14 +02:00
Luca Boccassi
821685f249
Merge pull request #3822 from somdoron/GROUPMAXLENGTH
...
problem: maximum size of group doesn't match the RFC maximum size
2020-02-09 13:10:47 +00:00
Doron Somech
05194eb549
problem: maximum size of group doesn't match the RFC maximum size
2020-02-09 14:46:23 +02:00
Simon Giesecke
f17a794d59
Merge pull request #3814 from bluca/sub_cancel_decoder
...
Implement ZMTP 3.1 subscribe/cancel via commands
2020-02-07 09:26:21 +01:00
Luca Boccassi
a7bb41ef77
Merge pull request #3820 from somdoron/WSENCODING
...
websocket problems
2020-02-06 16:39:38 +00:00
Doron Somech
652834296b
problem: ws_transport is missing the path the endpoint name
2020-02-06 17:22:28 +02:00
Doron Somech
071ec1a9bb
problem:Fallback to localhost in ws_address has no effect
...
Solution: return after the fallback
fixes #3809
2020-02-06 17:22:11 +02:00
Constantin Rack
6b75209f0e
Merge pull request #3821 from bluca/relicense
...
Grant from KLNikita
2020-02-06 15:26:49 +01:00
Luca Boccassi
8c618e0247
Grant from KLNikita
...
Received via email, message-id:
81ce91c8-df40-13c2-7abf-6f648d0b123f@elyzion.net
2020-02-06 10:29:32 +00:00
Doron Somech
7bfd9512e6
problem: ws_encoder allocate a new msg for masking
...
solution: if msg is not shared or constant, mask the message in place
2020-02-06 09:34:22 +02:00
Simon Giesecke
dca59c940e
Merge pull request #3819 from bluca/relicense
...
Grant by asafkahlon
2020-02-05 20:30:47 +01:00
Luca Boccassi
b7c1d932fb
Grant by asafkahlon
...
Received via email, message-id:
CALFsTFVZLgujRE3V_30G9V9b35kE566K5cWi0vKbNkZGSHrszA@mail.gmail.com
2020-02-05 17:06:27 +00:00
Luca Boccassi
38b6888c3e
Problem: libzmq does not advertise ZMTP 3.1
...
Solution: bump minor version number in the engine as all 3.1 features
are now implemented
2020-02-05 17:03:39 +00:00
Luca Boccassi
253e9dd27b
Problem: libzmq does not send ZMTP 3.1 sub/cancel commands
...
Solution: if all peers of a socket are >= 3.1 use sub/cancel commands
instead of the old 0/1 messages.
For backward compatibility, move the handling of 0/1 or sub/cancel
command strings to the encoders, so that the right thing can be done
depending on the protocol version.
Do not set the command flag until the encoder, so that we can handle
the inproc case (which skips the encoder).
2020-02-05 17:03:39 +00:00
Luca Boccassi
d4af92cd15
Merge pull request #3818 from SCOREC/xlClang
...
support compiling with IBM XL 16.1 w/ clang front end
2020-02-05 16:59:24 +00:00
Cameron Smith
f4dff8eed6
relicense stmt
2020-02-05 11:46:08 -05:00
Cameron Smith
49ecde8d80
support compiling with IBM XL 16.1 w/ clang front end
2020-02-05 11:00:34 -05:00
Luca Boccassi
0d073e0b67
Merge pull request #3816 from somdoron/SCATTER-GATHER-DOC
...
problem: no docs for scatter-gather
2020-02-05 08:29:37 +01:00
Doron Somech
40de45396f
problem: no docs for scatter-gather
2020-02-05 02:33:38 +02:00
Luca Boccassi
27f2f5e745
Merge pull request #3815 from gummif/gfa/doc-typo
...
Problem: Documentation for option name mismatch
2020-02-04 21:44:21 +01:00
Gudmundur Adalsteinsson
ee32b833a7
Add relicence agreement
2020-02-04 20:07:35 +00:00
Gudmundur Adalsteinsson
f80830c4a8
Problem: Documentation for option name mismatch
...
Solution: Fix typo
2020-02-04 20:00:07 +00:00
Luca Boccassi
e7f802d1ac
Merge pull request #3813 from sigiesec/code-style
...
Improve code style, remove duplications in test code
2020-02-04 19:05:01 +01:00
Simon Giesecke
21b8d5cff7
Problem: duplicated code in tests related to monitoring
...
Solution: extract new receive_monitor_address function
2020-02-04 18:36:03 +01:00
Simon Giesecke
495fb00b7e
Problem: pointee types are unnecessarily non-const
...
Solution: add const where possible
2020-02-04 18:34:19 +01:00
Simon Giesecke
db8f4fba21
Problem: redundant inline/ZMQ_FINAL declarations
...
Solution: remove them
2020-02-04 18:34:13 +01:00
Luca Boccassi
21d80e42a8
Merge pull request #3812 from pavel-pimenov/RELICENSE-pavel-pimenov
...
RELICENSE pavel-pimenov
2020-02-04 16:40:36 +01:00
Pavel Pimenov
c9845bfbf4
RELICENSE pavel-pimenov
2020-02-04 18:36:19 +03:00
Luca Boccassi
84ec65482f
Merge pull request #3808 from sigiesec/fix-test-monitor-to-be-checked
...
Fix intermittent test_monitor and test_security_zap timeouts/deadlocks for now
2020-02-04 15:23:58 +01:00
Luca Boccassi
d8851c5ca8
Merge pull request #3807 from sigiesec/fix-test-heartbeats
...
Problem: intermittent timeouts on test_heartbeats
2020-02-04 14:42:16 +01:00
Simon Giesecke
66094678d1
Problem: intermittent deadlocks/timeouts in test_monitor and test_security_zap
...
Solution: wait for monitor to stop resp. unregister monitor before
closing monitored socket.
2020-02-04 14:34:36 +01:00
Doron Somech
0a1fc44ed7
Merge pull request #3811 from sigiesec/fix-libsodium-1-0-0
...
Problem: curve_encoding_t build fails with old libsodium versions
2020-02-04 10:34:27 +01:00
Simon Giesecke
dfcca75d0b
Problem: curve_encoding_t build fails with old libsodium versions
...
Solution: add version check and fall back to old implementation for old versions
2020-02-04 10:04:40 +01:00
Simon Giesecke
58b636675a
Problem: on POSIX systems, all tests have a timeout of 60 seconds; disabling it via ZMQ_DISABLE_TEST_TIMEOUT doesn't work anymore
...
Solution: remove ZMQ_DISABLE_TEST_TIMEOUT guard but add default parameter to setup_test_environment
2020-02-04 09:48:55 +01:00
Simon Giesecke
577d64c007
Problem: intermittent timeouts on test_heartbeats
...
Solution: increase number of retries when reading monitor event,
and increase timeout
2020-02-04 09:48:55 +01:00
Luca Boccassi
06bdebfe8d
Merge pull request #3805 from sigiesec/curve-zerocopy
...
CURVE: Reduce number of memory allocations and message copies
2020-02-04 08:58:31 +01:00
Luca Boccassi
f1513f96d8
Merge pull request #3806 from sigiesec/increase-reconnect-ivl-timeout
...
Problem: intermittent timeouts of test_reconnect_ivl
2020-02-04 08:54:32 +01:00
Simon Giesecke
e7043c815d
Problem: intermittent timeouts of test_reconnect_ivl
...
Solution: increase timeout to 15 seconds
2020-02-03 23:19:45 +01:00
Simon Giesecke
4177bf7445
Problem: curve_encoding_t involves unnecesary heap allocations and copying of message data
...
Solution: use crypto_box_easy_afternm and crypto_box_open_easy_afternm
in-place
2020-02-03 22:33:15 +01:00
Simon Giesecke
2fa8185340
Problem: cannot use static libsodium library on Windows
...
Solution: add CMake option WITH_LIBSODIUM_STATIC
2020-02-03 22:24:16 +01:00
Simon Giesecke
b01685ea0a
Problem: no unittests for curve_encoding_t
...
Solution: add initial tests
2020-02-03 22:24:16 +01:00