Luca Boccassi
0af39a443f
Problem: can't unbind with bound addr with IPv6
...
Solution: try to resolve the TCP endpoint passed by the user in the
zmq_unbind call before giving up, if it doesn't match.
This fixes a breakage in the API, where after a call to
zmq_bind(s, "tcp://127.0.0.1:9999") with IPv6 enabled on s would
result in the call to zmq_unbind(s, "tcp://127.0.0.1:9999") failing.
Add more test cases to increase coverage on all combinations of TCP
endpoints.
2016-04-21 10:52:11 +01:00
Luca Boccassi
1586f3f25e
Problem: can't test if IPv6 is available in tests
...
Solution: add helper function is_ipv6_available to testutil.hpp to
test if IPv6 is available on the building platform.
This function will try to open and bind a socket to ::1:*, as it's
the ultimate way of knowing if, at least on the loopback, IPv6 is
enabled.
2016-04-21 10:52:11 +01:00
Pieter Hintjens
98834596f1
Problem: cannot disable encryption if libsodium is installed
...
The sodium/tweetnacl detection logic does not yet you disable
encryption if libsodium is installed.
Fixes #1850 in libzmq/master
2016-03-12 15:40:24 +01:00
Pieter Hintjens
58badc44c1
Problem: can't be sure crypto_box always returns 0
...
Libsodium has started returning -1 in some cases.
Solution: allow and handle error returns from these calls.
Fixes #1831
2016-03-01 17:01:00 +01:00
Michael
626abbdaf2
update for mingw's default _WIN32_WINNT
...
mingw defaults with _WIN32_WINNT as 0x0502 which doesn't define inet_pton(), so add a conditional check
2016-02-12 23:32:20 +11:00
Michael
d0b341cf0f
update for mingw's default _WIN32_WINNT
...
mingw defaults with _WIN32_WINNT as 0x0502 which doesn't define inet_pton(), so add a conditional check
2016-02-12 23:31:55 +11:00
Michael
41cc603d11
update for mingw's default _WIN32_WINNT
...
mingw defaults with _WIN32_WINNT as 0x0502 which doesn't define inet_pton(), so add a conditional check
2016-02-12 23:31:24 +11:00
Luca Boccassi
92f2b073be
Problem: CI may fail due to timeout. Fixes #58
...
Solution: cherry-pick Pieter Hintjens commit a7a512ab from libzmq
repository to increase test timeouts to 250 msec.
2015-08-02 19:23:22 +01:00
Rik van der Heijden
a9ca06847b
Fix issue #52 , reset all bits in getsockopt
2015-08-01 10:28:57 +02:00
Dylan Cali
6b8aae0b54
be pedantic and call zmq_close in tests
2015-06-28 22:32:55 -05:00
Dylan Cali
b0023f0ccf
fix errant comments
2015-06-28 21:28:49 -05:00
Dylan Cali
c8c36f5907
add tests for zeromq/libzmq#949
2015-06-28 20:53:04 -05:00
Constantin Rack
81464652d2
Solution: allow brackets in tcp address. Fixes #43
2015-06-23 08:29:36 +02:00
Min RK
9be539a1e1
test proxy with single REP socket
2015-06-07 11:09:08 -07:00
Pieter Hintjens
b0a69fc623
Problem: source file headers are somewhat confusing about LGPLv3
...
Of course people still "can" distributed the sources under the
LGPLv3. However we provide COPYING.LESSER with additional grants.
Solution: specify these grants in the header of each source file.
2015-06-02 22:47:01 +02:00
Rik van der Heijden
f5e1c607a5
Merged fix for #1382
2015-05-01 11:26:26 +02:00
Thomas Rodgers
73fa40b9ac
resolve #1347 addresses issue of no metadata on identity frame
2015-02-19 13:31:26 -06:00
Thomas Rodgers
2a3379af4d
Revert "resolve #1347 addresses issue of no metadata on identity frame"
...
This reverts commit f75ed8565e984f423e748717108486b458d5a724.
2015-02-19 13:27:18 -06:00
Thomas Rodgers
f75ed8565e
resolve #1347 addresses issue of no metadata on identity frame
2015-02-19 13:26:26 -06:00
Thomas Rodgers
d172875f52
Backport resolve #1357 Support limited metadata for STREAM sockets
2015-02-18 13:09:11 -06:00
Thomas Rodgers
48ed789c18
Revert "STREAM socket support for limited metadata"
...
This reverts commit 5afd4e16edb51a3996c8d4b9f698dea8d2917c43.
2015-02-18 12:36:21 -06:00
Thomas Rodgers
5afd4e16ed
STREAM socket support for limited metadata
...
WIP - STREAM socket support for limited metadata
STREAM socket support for limited metadata
2015-02-18 11:12:32 -06:00
Thomas Rodgers
5229eeef5b
resolve #1347 Backport zmq_msg_gets "Peer-Address"
2015-02-14 10:44:52 -06:00
Min RK
fffaf6fd42
craft vanilla socket security test messages
...
use explicit ZMTP/1.0 anonymous greeting
rather than HTTP request that just happened to work
2014-12-04 13:42:27 +01:00
Min RK
4cff7bf372
allow vanilla socket security tests to run on Windows
...
- add ws2tcpip.h
- alias close->closesocket
- increment port in sec_null test
2014-12-04 13:42:19 +01:00
Min RK
3c1a710d06
Resolved conflict when picking c35c0ca
2014-12-04 13:42:00 +01:00
lysyloren
ed6bf9f178
Unbind socket with real endpoint when binding by wild-card * address
2014-10-29 10:17:30 +01:00
Phillip Mienk
6f9ad96225
Remove local pgm configuration option, cleanup configure.ac, remove unused Makefile.am instances.
2014-10-15 18:33:33 -07:00
Martin Hurton
fe4396c597
Merge pull request #1188 from hintjens/master
...
Problem: stream_engine.cpp security can be downgraded
2014-09-19 20:16:09 +02:00
Pieter Hintjens
77f14aad95
Problem: stream_engine.cpp security can be downgraded
...
Solution: accept only the mechanism defined by the socket options.
I've not tested this yet, so it's a speculative fix.
2014-09-19 19:24:45 +02:00
Martin Hurton
8e9005d591
Merge pull request #1186 from hintjens/master
...
Problem: test_security_curve does't try wrong mechanisms
2014-09-18 10:09:49 +02:00
Pieter Hintjens
57ade6d5bb
Problem: test_security_curve does't try wrong mechanisms
...
Solution: check that it rejects attempts to connect to a CURVE server
using NULL or PLAIN client.
2014-09-18 07:32:07 +02:00
evoskuil
8cd85857fb
Fix potential redefinition of common DEBUG symbol, replace tabs.
2014-09-02 23:39:33 -07:00
evoskuil
d76536eb70
Default Travis clang build fails on unused variable 'MAX_SENDS'.
2014-08-28 18:25:35 -07:00
Richard Newton
8926cb3ddb
Fix test broken when we changed FD_SETSIZE.
2014-08-26 08:36:51 +01:00
kreuzberger
212220dda7
Bugfix wrong CMakeLists.txt after rename of file
2014-08-12 21:34:30 +02:00
Pieter Hintjens
f20b70bef5
Cleaned up test_xpub_nodrop
...
Renamed test case to actually explain what it's testing, and cleaned up
the code a little.
2014-08-12 12:37:49 +02:00
Pieter Hintjens
785aebc6a8
Reworking Travis script
2014-08-12 12:37:49 +02:00
Pieter Hintjens
75d4f50be3
Problem: ZMQ_CURVE_SECRETKEY reads beyond end of Z85 data
...
Solution: change setsockopts on printable keys to expect 41, nor 40
bytes. Code still accepts 40 bytes for compatibility, and copies the
key to a well-terminated string before using it.
Fixes #1148
2014-08-12 12:37:49 +02:00
kreuzberger
f042ea9e26
better naming of flags and variables to real functionality: nodrop
2014-08-08 19:45:41 +02:00
kreuzberger
d9a3cc48d4
do not silently drop messages in publisher if hwm is reached
2014-08-08 19:36:00 +02:00
Pieter Hintjens
bbbe8d7832
Merge pull request #1154 from mrvn/pull-test_router_mandatory_hwm
...
Add test for HWM behaviour for mandatory ROUTER sockets over tcp
2014-08-07 13:09:54 +02:00
Goswin von Brederlow
893995e698
Add test for HWM behaviour for mandatory ROUTER sockets over tcp
2014-08-07 12:52:07 +02:00
Diego
6537e202d6
moved root CMakeLists.txt tests config to tests/CMakeLists.txt
2014-08-05 13:24:32 +02:00
Thomas Rodgers
03f097a541
Update zmq_msg_get(ZMQ_SHARED) to return true for type_cmsg messages
2014-07-29 13:43:38 -05:00
Ewen McNeill
829b1bb4d4
Include testutil.hpp if using SETTLE_TIME
...
Updated:
tests/test_connect_delay_tipc.cpp
tests/test_sub_forward_tipc.cpp
tests/test_term_endpoint_tipc.cpp
2014-07-24 13:00:21 +12:00
Ewen McNeill
fc80e8cda1
z/OS: signal(SIGPIPE, SIG_IGN) for tests
...
Updated:
tests/testutil.hpp: Add signal(SIGPIPE, SIG_IGN) to
setup_test_environment(), on z/OS (__MVS__)
2014-07-23 13:39:45 +12:00
Pieter Hintjens
81b9f21bdd
Merge pull request #1132 from rodgert/master
...
Added test and doc section for ZMQ_SHARED message flag
2014-07-13 02:03:51 +02:00
Thomas Rodgers
82282d6973
Added test and doc section for ZMQ_SHARED message flag
2014-07-12 18:05:49 -05:00
Richard Newton
31cff7ccf9
Add test for unbinding inproc socket.
2014-07-09 10:28:26 +01:00
Pieter Hintjens
a087ce55ea
Problem: two header files for a single library
...
Users who need e.g. zmq_curve_keypair() have to remember to include
zmq_utils.h, which is counter-intuitive. The whole library should be
represented by a single include file.
Solution: merge all contents of zmq_utils.h into zmq.h, and deprecate
zmq_utils.h. Existing apps can continue unchanged. New apps can ignore
zmq_utils.h completely.
2014-06-27 15:58:18 +02:00
Pieter Hintjens
dd05a64462
Problem: zmq_msg_gets did not set errno on unknown properties
...
Solution: set errno to EINVAL when a property does not exist.
Also fixed test_metadata.cpp to test this case.
2014-06-25 17:28:36 +02:00
Pieter Hintjens
deaad00ad9
Problem: zmq_connect() does not validate TCP addresses
...
Since https://github.com/zeromq/libzmq/commit/350a1a , TCP addresses
get resolved asynchronously, so zmq_connect no longer returned an
error on incorrect addresses.
This is troublesome since we rely on some error checking to catch
blatant errors.
Solution add some upfront syntax checking that catches at least the
obvious kinds of errors (invalid characters, wrong or missing port
number).
2014-06-24 14:33:38 +02:00
Richard Newton
82be399527
Merge pull request #1097 from hintjens/master
...
Added capabilities API
2014-06-23 13:23:20 +01:00
chrox
bdf6427a00
Fixed build with arm-linux-androideabi toolchain
2014-06-22 18:13:05 +08:00
Pieter Hintjens
36db9c0803
Fixed compile error if Kerberos installed
2014-06-19 15:28:04 +02:00
Pieter Hintjens
f11d673ba9
Problem: need way to probe library capabilities
...
As libzmq is compiled with optional transports and security mechanisms,
there is no clean way for applications to determine what capabilities
are actually available in a given libzmq instance.
Solution: provide an API specifically for capability reporting. The
zmq_has () method is meant to be open ended. It accepts a string so
that we can add arbitrary capabilities without breaking existing
applications.
zmq.h also defines ZMQ_HAS_CAPABILITIES when this method is provided.
2014-06-18 15:19:07 +02:00
Richard Newton
1d236d81c8
Merge pull request #1090 from hintjens/master
...
Problem: zmq_ctx_get (ZMQ_MAX_SOCKETS) returns gibberish
2014-06-16 08:45:37 +01:00
Pieter Hintjens
188f7864ea
Fixed testcase for ZMQ_MAX_SOCKETS
2014-06-11 21:25:46 +02:00
Dave Meehan
a1f8737976
Exclude test_abstract_ipc from non-Linux builds
2014-06-06 12:08:55 +01:00
Pieter Hintjens
cfc754f393
Merge pull request #1020 from jemc/inproc_simult
...
Add failing test reproducing issue #1015 .
2014-05-23 16:03:15 +02:00
Joe Eli McIlvain
8b47d36875
Revert "Mark failing test for issue #1015 as XFAIL"
...
This reverts commit b6c577a9ecaa3d20b82baf704a90e5555f850be9.
2014-05-22 12:21:32 -07:00
Pieter Hintjens
11175a33f1
Problem: security tests block on zmq_send
...
The expect_bounce_fail () helper assumed that messages could always
be sent. However in some cases zmq_send() blocks, due to there not
being any outgoing pipe. This changed in 77f5f7, where previously
there would be a pipe that kept trying to reconnect forever.
Solution: use a send timeout and check for EAGAIN if sending failed.
2014-05-20 15:42:35 +02:00
Pieter Hintjens
155feccb3f
Merge pull request #1047 from mrvn/pull-testutil-expect_bounce_fail-send-timeout
...
Add a send timeout in expect_bounce_fail()
2014-05-19 17:52:27 +02:00
Goswin von Brederlow
2ba5af6d83
Set an alarm(60) in setup_test_environment() when not on windows so tests
...
will not block too long if they go wrong.
2014-05-19 17:03:41 +02:00
Goswin von Brederlow
0ebf94e429
Add a send timeout in expect_bounce_fail() so tests for authentication
...
failures don't block.
2014-05-19 17:03:24 +02:00
Pieter Hintjens
a9a15ccf6f
Use different endpoint for each test step
2014-05-16 16:00:37 +02:00
Stoian Ivanov
6f5e7714cf
test case for zmq_getsockopt/ZMQ_IDENTITY_FD
2014-05-13 15:19:48 +03:00
Daniel Shih
70b6516d96
add untracked test_stream_timeout into .gitignore and tests/Makefile.am
2014-05-11 23:46:51 +08:00
Joe Eli McIlvain
b6c577a9ec
Mark failing test for issue #1015 as XFAIL
2014-05-09 14:06:17 -07:00
Joe Eli McIlvain
5cf74db6bb
Add failing test reproducing issue #1015 .
...
There is a race condition when connect and bind on a new inproc
endpoint happen "simultaneously" in threads. Causes the error:
Assertion failed: ok (ctx.cpp:474)
2014-05-09 11:02:01 -07:00
Will Strang
afe5fd87e9
Issue #1017 : add ZMQ_HANDSHAKE_IVL time limit on connection handshake
2014-05-09 13:54:24 +00:00
Franco Fichtner
fff29a4a0c
ipc: fail harder for abstract ipc on non-Linux
...
Using 'ipc://@abstract-socket' on non-Linux platforms yields inconsistent
behaviour. Abstract sockets don't exist, so the literal file is created.
The test previously failed, but for a different reason: this is not the
directory you are looking for. Now, zmq_bind() will fail for the right
reason: the socket can't be created. Put the XFAIL back.
2014-05-05 23:26:06 +02:00
Franco Fichtner
69bd470103
tests: fix abstract ipc test by omitting slashes
2014-05-05 23:04:40 +02:00
Samuel Martin
6fdafc458a
autotools: tests: disable test_fork if fork() is not available
...
fork() support is optional and its availability is correctly detected at
contfigure time.
But test_fork was all always built, preventing build for targets that do
not provide fork() from building successfully.
This pacth fixes the autotools on this point.
2014-05-03 21:55:03 +02:00
Pieter Hintjens
0d13971c05
Fixed compile error in test_security_null
2014-05-02 22:28:19 +02:00
Pieter Hintjens
84ed81c014
Added test_metadata
...
- also prioritize ZAP metadata over ZMTP metadata in case application
uses same names.
2014-05-02 22:21:50 +02:00
Pieter Hintjens
d190325e4d
Revert "Enlarge the race window for some test cases"
...
This reverts commit 2a84d2597469d272794a1fb5fb43c6260f335195.
Broke regression test on test_hwm.cpp.
2014-05-02 16:49:03 +02:00
Pieter Hintjens
0bc669b106
Merge pull request #1000 from daveab/feature/divide_by_zero_investigation
...
Feature/divide by zero investigation
2014-05-02 16:31:48 +02:00
dave b
2a84d25974
Enlarge the race window for some test cases
...
These changes cause an assertion in lb_sendpipe() when executing the test_security_plain testcase.
2014-05-02 14:32:14 +01:00
Pieter Hintjens
79ef02538f
Port 9999 is unsafe for tests
2014-05-01 11:23:41 +02:00
Pieter Hintjens
408dea796f
Merge pull request #993 from klnikita/src_addr_connect
...
Allow to set up a source address and port for outgoing tcp connections in zmq_connect
2014-04-30 14:57:08 +02:00
nikita kozlov
acb6807041
Allow to set up a source address and port for outgoing tcp connections in zmq_connect()
...
Few examples:
tcp:://192.168.0.4:55555;192.168.0.254:1234
tcp:://192.168.0.4:0;192.168.0.254:1234
tcp:://eth2:55555;192.168.0.254:1234
2014-04-30 14:43:37 +02:00
Pieter Hintjens
39ccfea036
Added more scaffolding for security
...
- additional messages to help people debugging security errors
2014-04-29 22:21:58 +02:00
Pieter Hintjens
d1232d144a
Fixed NULL security test
...
Has some bits commented out due to #939 , now work.
Note: there is an issue in libzmq when binding/unbinding or
connecting/disconnecting (I did not investigate deeper) the
same socket several times. Even closing the socket with zero
linger, zmq_ctx_term will block. The workaround in this test
case is to close the sockets for each test step.
2014-04-29 12:13:54 +02:00
Pieter Hintjens
9753de8566
Problem: zmq_socket_monitor code is dirty
...
Specifically:
* zmq_event_t should not be used internally in libzmq, it was
meant to be an outward facing structure.
* In 4.x, zmq_event_t does not correspond to monitor events, so
I removed the structure entirely.
* man page for zmq_socket_monitor is incomplete and the example
code was particularly nasty.
* test_monitor.cpp needed rewriting, it was not clean.
2014-04-28 11:30:49 +02:00
Pieter Hintjens
8fcda0d5da
Cleaned up XFAIL on resources
...
- this failing test was confusing users
- ZMTP v3.0 now does not define resources at all
- resources, along with other unimplemented aspects moved to
RFC 37 ZMTP v3.1
2014-04-05 15:32:43 +02:00
Richard Newton
f5eebc2ae3
Remove delays and destroy/recreate context between tests
2014-03-17 13:41:02 +00:00
Richard Newton
e27a610897
Fix tabs
2014-03-17 12:32:21 +00:00
Richard Newton
26dc643205
Add delays in test_connect_rid to allow time for socket to close before address reuse.
2014-03-17 12:24:52 +00:00
Pieter Hintjens
b433adf49e
Fixed comment
2014-03-16 11:53:40 +01:00
Mark Barbisan
350a1ac12b
Allow TCP addresses to be re-resolved whenever there is a reconnection attempt
2014-03-12 13:28:37 -04:00
Olaf Mandel
e41c8cba0e
Rename ZMQ_MAX_SOCKETS_MAX to ZMQ_SOCKET_LIMIT
...
As per suggestion by Pieter Hintjens. Also update wording in
zmq_ctx_set manual a bit.
2014-02-14 10:09:19 +01:00
Pieter Hintjens
1e9ea54bf6
Merge pull request #889 from olafmandel/MAX_SOCKETS_MAX
...
Add ZMQ_MAX_SOCKETS_MAX to zmq_ctx_get()
2014-02-13 19:15:01 +01:00
Laurent Alebarde
abf9d8b74e
Revert "add a proxy hook"
...
This reverts commit 9ae6a91fadb96fd48038fde04cc3d4b61b49a8a1.
2014-02-13 18:35:09 +01:00
Laurent Alebarde
bc25366f7c
Revert "add proxy_chain, a multi proxies chaining in the same thread feature"
...
This reverts commit bc7441f5176589ad9a34dc2bde6b91d78a44e3e0.
2014-02-13 18:35:09 +01:00
Olaf Mandel
5815b768b9
Add ZMQ_MAX_SOCKETS_MAX to zmq_ctx_get()
...
The new options allows querying the maximum allowed number of sockets.
This is system dependent and cannot be encoded in the include file as a
preprocessor macro: for ZMQ_USE_SELECT, this depends on the FD_SETSIZE
macro at time of library compilation, not at time of include file use.
2014-02-13 15:54:06 +01:00
Richard Newton
668c42fc26
Fix hang on term when inproc is connected but never bound.
2014-02-12 23:10:23 +00:00
Pieter Hintjens
046e37e907
Test for 127.0.0.1 at tests startup
2014-01-29 20:16:58 +01:00
Laurent Alebarde
bc7441f517
add proxy_chain, a multi proxies chaining in the same thread feature
2014-01-28 18:15:01 +01:00