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
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
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
f9417dab4d
Problem: msg_t functions do not respect coding style
...
Solution: fix them
2020-03-07 13:25:18 +00: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
Luca Boccassi
4f45ac135a
Problem: formatting not up to date
...
Solution: run make clang-format-diff
2020-02-23 18:25:20 +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
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
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
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
Cameron Smith
49ecde8d80
support compiling with IBM XL 16.1 w/ clang front end
2020-02-05 11:00:34 -05: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
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
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
4ad239acbc
Problem: curve encoding and decoding are not easily testable
...
Solution: extract into separate class curve_encoding_t
2020-02-03 17:07:15 +01:00
Simon Giesecke
3e394fddb4
Problem: naming convention violated by curve_mechanism_base
...
Solution: change to conform with naming convention
2020-02-03 11:44:10 +01:00
Simon Giesecke
406c423c9a
Problem: C-style casts used
...
Solution: use static_cast instead
2020-01-27 10:38:00 +01:00
Simon Giesecke
78961eeab7
Problem: non-modifying member functions not marked as const/static
...
Solution: add const/static
2020-01-27 10:38:00 +01:00
Simon Giesecke
41e3f14d6a
Problem: ptr/ref parameters and local variables are non-const but never modified
...
Solution: add const
2020-01-27 10:38:00 +01:00
Simon Giesecke
759fed8e7e
Problem: meaningless inline specified on function declarations
...
Solution: remove them
2020-01-27 10:38:00 +01:00
Simon Giesecke
f8f7913737
Problem: irregular loop conditions
...
Solution: use standard loop constructs and optimize some loops
2020-01-27 10:38:00 +01:00
Simon Giesecke
628adf1cb7
Problem: inconsistent polymorphic inheritance
...
Solution: consistently use virtual, override and final
2020-01-27 08:46:55 +01:00
Simon Giesecke
36a8df2f8c
Problem: sockets can be created after calling zmq_ctx_shutdown
...
Solution: fix handling of _starting and _terminate flags
Add tests for this situation.
Clarify documentation of zmq_ctx_shutdown and zmq_socket.
Fixes #3792
2020-01-26 18:06:14 +01:00
Denis Collette
64fc106123
Problem: preious commit contains tabs
...
Solution: replace tabs with spaces
2020-01-22 20:15:50 -04:00
Denis Collette
1450681fb4
Problem: Issue #3766 states that strtok is not thread safe and should be replaced
...
Solution: Replaced calls to strtok with strtok_r (strtok_s for windows)
in ws_engine.cpp
2020-01-22 19:40:26 -04:00
Luca Boccassi
ddae567f16
Problem: ZMQ_WSS socket options not defined in src/zmq_draft.h
...
Solution: add them
2020-01-19 14:39:29 +00:00
Matthias Loy
c357c378d8
fix: websocket url without path
...
websocket urls without a path caused crash!
2020-01-18 23:04:16 +01:00
Doron Somech
60ef14f80b
problem: ws_engine don't support WS RFC close control msg
...
Solution: when peer send a close msg, close the connection
2020-01-18 19:30:23 +02:00
Doron Somech
b120ec33a9
problem: ws_engine don't support WS RFC ping-pong
...
Solution: implement both PONG response and producing pings
2020-01-18 18:28:00 +02:00
Christoph Kahl
c5dab4f48f
mingw: add missing namespace
2020-01-09 21:44:53 +01:00
Simon Giesecke
73eb1eac05
Merge pull request #3767 from bluca/libbsd
...
Problems: reimplementation of strlcpy, CMake does not use pkg-config for NSS, wrong pc generated by autoconf with GNUTLS
2020-01-06 11:46:38 +01:00
xqcool
382c6d7186
Update array.hpp ( #3769 )
...
* Update array.hpp
Problem:Calling back on an empty container causes undefined behavior.
Solution:Check with the function empty()
* Create xqcool.mq
Adds relicensing grant
2020-01-01 10:37:51 +01:00
Luca Boccassi
3832bd6b11
Problem: UWP build fails
...
Solution: initialize local variable in all cases to false positive
compiler warning
2019-12-28 21:17:09 +01:00
Luca Boccassi
068385c951
Problem: internal reimplementation of strlcpy used by default on Linux
...
Solution: use libbsd by default when available, and the internal implementation
only as a fallback, to take advantage of Linux distros maintenance of the
string libraries.
2019-12-28 16:21:06 +01:00
Luca Boccassi
246cc77efc
Merge pull request #3763 from sigiesec/replace-strcpy
...
Avoid possible buffers overruns in ws_engine
2019-12-25 16:13:13 +01:00
Simon Giesecke
3dbbc28bb8
Problem: use of unsafe strcpy
...
Solution: use memcpy with known size instead
2019-12-25 13:56:26 +01:00
Simon Giesecke
334e837b88
Problem: ws_engine uses unsafe strcpy
...
Solution: use strcpy_s instead (define custom if not available)
2019-12-25 13:56:26 +01:00