Commit Graph

6495 Commits

Author SHA1 Message Date
Simon Giesecke
5ca0d4e8a9 Problem: C4267 warnings in test_spec_router
Solution: Use unsigned char instead of size_t
2018-05-14 21:09:57 +02:00
Simon Giesecke
69a6b86310 Problem: C4267 warning test_spec_pushpull
Solution: Use unsigned char instead of size_t
2018-05-14 21:09:57 +02:00
Simon Giesecke
3cbc7cb0dc Problem: C4244 warnings regarding SOCKET vs. int in test_security_null and test_security_plain
Solution: Use fd_t
2018-05-14 21:09:56 +02:00
Simon Giesecke
3ee65906af Problem: various warnings regarding SOCKET vs. int in test_security_curve
Solution: Use fd_t
2018-05-14 21:09:56 +02:00
Simon Giesecke
28631d1cd3 Problem: C4550 warning in testutil_security
Solution: explicitly compare function pointer against NULL
2018-05-14 19:18:43 +02:00
Simon Giesecke
b0c3a42ed2 Problem: C4800 warnings in unittest_ip_resolver.cpp
Solution: make proper boolean expression
2018-05-14 19:18:42 +02:00
Simon Giesecke
c589f2b603 Problem: C4800 warning in socket_base.cpp
Solution: make proper boolean expression
2018-05-14 19:18:37 +02:00
Simon Giesecke
c52871f82c Problem: C4627 warning in proxy.cpp and signaler.cpp
Solution: move conditional include directive to precompiled.hpp
2018-05-14 18:07:13 +02:00
Simon Giesecke
a8095a1046 Problem: C4800 warning in ip_resolver.cpp
Solution: fix type specification
2018-05-14 18:07:13 +02:00
Simon Giesecke
95c770a275 Problem: C4099 warning in udp_engine.cpp
Solution: fix type specification
2018-05-14 17:17:11 +02:00
Simon Giesecke
d7e99085ef Problem: Warnings in Windows builds
Solution: enable warnings-as-errors
2018-05-14 17:17:10 +02:00
Simon Giesecke
8ad43907e6
Merge pull request #3101 from bluca/heartbeat_disabled
Problem: heartbeat tests are disabled
2018-05-14 15:05:29 +02:00
Luca Boccassi
eac265059d Problem: heartbeat tests are disabled
Solution: re-enable them
2018-05-14 13:41:39 +01:00
Luca Boccassi
54aff77475
Merge pull request #3096 from sigiesec/add-poller-docs
Add poller docs
2018-05-14 11:10:10 +01:00
Simon Giesecke
4fea7184dc Problem: man zmq_poller_* not working
Solution: add symlinks to zmq_poller.txt
2018-05-14 11:29:24 +02:00
Simon Giesecke
f4b1cae082 Problem: no documentation for zmq_poller_*
Solution: add initial documentation
2018-05-14 11:29:24 +02:00
Simon Giesecke
213254cca5 Problem: inconsistent behaviour of zmq_poller_new in case of memory exhaustion
Solution: return NULL and set errno to ENOMEM
2018-05-14 11:29:24 +02:00
Simon Giesecke
2cd147e5ff Problem: misleading comment for calling zmq_poller_add with events == 0
Solution: change comment, and add test case for zmq_poller_modify with events == 0
2018-05-14 11:29:24 +02:00
Simon Giesecke
00d25b7873 Problem: inconsistent behaviour of zmq_poller_add and zmq_poller_add_fd in case of memory exhaustion
Solution: always return -1 with errno == ENOMEM
2018-05-14 11:29:24 +02:00
Luca Boccassi
0a037a7431
Merge pull request #3097 from sigiesec/ping-context
ZMTP 3.1 PING Context not implemented
2018-05-14 09:55:41 +01:00
Simon Giesecke
be66eacf5c Problem: test_heartbeats still using plain assertions
Solution: migrate to unity assertions
2018-05-14 10:14:32 +02:00
Luca Boccassi
b331caad06 Problem: ZMTP 3.1 PING Context not implemented
Solution: if a PING message contains a context, echo it back in the
PONG message. In order to do so, create the PONG message when PING
is received and store it in the engine.
After the PING the engine goes straight to encoding and sending, so
there can always be at most one pending PING.
Add tests for various contexts.
2018-05-14 10:14:13 +02:00
Luca Boccassi
5482b1ca45 Problem: heartbeat command parsing does not check command name size
Solution: treat the first byte of the command body as the size of the
command name, rather than as an id, to comply with ZMTP 3.1.
This was not an actual problem at runtime since both heartbeat
commands have a size of 4, which was treated like an id.
But once SUBSCRIBE/UNSUBSCRIBE get implemented it needs to be checked.
2018-05-14 09:15:39 +02:00
Luca Boccassi
ba9274c39a Problem: test_heartbeats mocked ZMQ_REP is hacky and fragile
Solution: remove it, it doesn't add much value anyway
2018-05-14 09:15:38 +02:00
Simon Giesecke
f218478237 Problem: test_heartbeats use no test framework
Solution: migrate to unity
2018-05-14 09:15:38 +02:00
Simon Giesecke
df2fe88b92
Merge pull request #3095 from bluca/sunstudio_linux
Problem: building on Linux with Sun Studio still fails
2018-05-13 21:21:50 +02:00
Luca Boccassi
09f700f72e Problem: uninitialised class variable warning
Solution: initialise it
2018-05-13 18:24:50 +01:00
Luca Boccassi
7ba074fa28 Problem: Sun Studio build errors
Solution: add compiler flags to support extensions like anonymous
structs in unions, fix casting of const, and check for suncc rather
than solaris
2018-05-13 18:24:50 +01:00
Simon Giesecke
cdb54d248b
Merge pull request #3094 from simias/mcast-if
Problem: no way to specify source interface for UDP multicast sender …
2018-05-13 18:47:59 +02:00
Lionel Flandrin
a833ace204 Problem: no way to specify source interface for UDP multicast sender sockets
Solution: if a binding interface is provided in the sender URL we pass
it to IP[V6]_MULTICAST_IF setsockopt
2018-05-13 18:32:12 +02:00
Luca Boccassi
f6e528443e
Merge pull request #3093 from simias/fix-aliasing
Problem: test_radio_dish triggers aliasing errors with some compilers
2018-05-13 16:31:49 +01:00
Lionel Flandrin
4eb6786347 Problem: test_radio_dish triggers aliasing errors with some compilers
Solution: refactor the test code to work around aliasing issues
2018-05-13 17:05:05 +02:00
Simon Giesecke
21f642fa4f
Merge pull request #3092 from bluca/solaris_studio
Problem: build broken on Solaris with Sun Studio compilers
2018-05-13 15:05:16 +02:00
Luca Boccassi
c5b7f4f536 Problem: test_system info output hidden on Solaris
Solution: change the ifdef to always print on any Unix, as they
all have ulimit
2018-05-13 13:19:07 +01:00
Luca Boccassi
510a42c3d5 Problem: test_system fails on Solaris due to lower file limit
Solution: use a different max socket value on Solaris, where the
default limit is 256 instead of 1024
2018-05-13 13:18:08 +01:00
Luca Boccassi
b78cfb2395 Problem: mismatching declarations and definitions break Solaris Studio build
Solution: add missing const qualifier to internal functions
2018-05-13 13:17:20 +01:00
Luca Boccassi
8b82ed50a2 Problem: Solaris Studio does not convert from char * to string
Solution: do it explicitly to fix build on Solaris 10/11 with the Sun
compiler
2018-05-13 13:16:37 +01:00
Simon Giesecke
3d9c119543 Problem: compilation broken on Solaris
Solution: remove constness on pair arguments. Fixes #3090
2018-05-13 13:15:32 +01:00
Luca Boccassi
15e8de2f88
Merge pull request #3091 from sigiesec/fix-warnings-msvc
Problem: warnings in MSVC builds around size_t/int
2018-05-13 12:11:05 +01:00
Simon Giesecke
d6433b5c24 Problem: warnings in MSVC builds around size_t/int
Solution: use proper types
2018-05-13 11:11:19 +02:00
Simon Giesecke
5fe783070b
Merge pull request #3085 from bluca/getrandom_test
Problem: getrandom test does not check if it's working
2018-05-11 09:51:43 +02:00
Luca Boccassi
0f896fcd36
Merge pull request #3087 from simias/mcast_loop
Problem: ZMQ doesn't expose the MULTICAST_LOOP socket option
2018-05-10 19:10:28 +01:00
Lionel Flandrin
4b635c3d06 Problem: documentation for zmq_udp is outdated
Solution: update to document new binding options and IPv6 support
2018-05-10 19:24:48 +02:00
Lionel Flandrin
99412c810d Problem: ZMQ doesn't expose the MULTICAST_LOOP socket option
Solution: add a new ZMQ_MULTICAST_LOOP option for UDP sockets.
2018-05-10 19:24:46 +02:00
Luca Boccassi
e9211aed2c
Merge pull request #3086 from simias/warning-fix
Problem: test helper recv_string_expect_success ignores flags
2018-05-10 11:15:01 +01:00
Lionel Flandrin
f9c30f3e19 Problem: test helper recv_string_expect_success ignores the flags argument
Solution: pass the flags to zmq_recv
2018-05-10 11:43:47 +02:00
Luca Boccassi
3c2656eb52
Merge pull request #3081 from simias/udp_ipv6
UDP Ipv6 support
2018-05-09 13:01:06 +01:00
Lionel Flandrin
b0df4be51c Problem: UDP engine does not support IPv6
Solution: Add IPv6 support
2018-05-09 12:06:23 +02:00
Luca Boccassi
4ff814f204 Problem: getrandom test does not check if it's working
Solution: check return value in autoconf and CMake. On some platforms
the function is available but not implemented (eg: GNU/Hurd).
2018-05-09 10:41:20 +01:00
Luca Boccassi
7aba6821ac
Merge pull request #3084 from jorikcaljouw/new_fix_vs2015
Add ip_resolver.cpp and ip_resolver.hpp for vs2015 libzmq project
2018-05-08 13:17:33 +01:00