Commit Graph

5462 Commits

Author SHA1 Message Date
chuggafan
020ff65efa Updated buildbase and buildall to work with visual studio 2017 2017-01-16 14:54:40 -05:00
Luca Boccassi
f86053b985 Merge pull request #2304 from JohanMabille/cmake_fix
cmake install on linux fixed
2017-01-12 23:42:19 +00:00
Johan Mabille
36d0c70647 cmake install on linux fixed 2017-01-13 00:10:32 +01:00
Constantin Rack
b8d8c498c6 Merge pull request #2302 from laplaceyang/pr_thread_safe_modify_pipe
Problem: Thread-safe solution for modify hwm of pipe
2017-01-11 09:28:33 +01:00
laplaceyang
107f2441d5 Problem: Thread-safe solution for modify hwm of pipe
Solution: where change pipe hwm, send a command (new type pipe_hwm) to peer, so peer pipe can modify hwm thread-safely
2017-01-11 10:49:54 +08:00
Constantin Rack
4fc313d152 Merge pull request #2301 from bluca/set_peer_unsafe
Problems: modifying pipe from different thread is not safe and HWM always boosted by 1
2017-01-10 21:13:25 +01:00
Luca Boccassi
edc770d680 Problem: HWM always boosted by 1
Solution: initialise *hwmboost to -1 instead of 1, and use it only if
it's >= 0. The socket option code checks anyway that the
user-provided value is >= 0 so there is no risk of clashing. The
documentation also specifies that it has to be >= 0.
2017-01-10 11:40:14 +00:00
Luca Boccassi
9f1ba60f50 Problem: modifying pipe from different thread is not safe
Solution: revert change from #2299 to avoid bugs while we look for an
alternative and thread-safe solution
2017-01-10 11:38:02 +00:00
Luca Boccassi
598befc1f8 Merge pull request #2299 from laplaceyang/pr_set_hwm_after_connect
Problem: set hwm after connect lead to infinite hwm
2017-01-09 08:34:12 +00:00
laplaceyang
5adcb83509 Problem: set hwm after connect lead to infinite hwm 2017-01-09 12:34:40 +08:00
Constantin Rack
77e1792cd8 Merge pull request #2298 from bluca/spec_uuid
Problem: spec file still depends on libuuid
2017-01-08 12:10:21 +01:00
Luca Boccassi
ce735c44ef Problem: spec file still depends on libuuid
Solution: remove the dependency as it's not been needed for a while
2017-01-07 22:25:36 +00:00
Constantin Rack
81bbd2b72d Merge pull request #2296 from bluca/asciidoc-base
Problem: debian packages do not build manpages
2017-01-07 19:39:36 +01:00
Luca Boccassi
e37936616d Problem: debian packages do not build manpages
Solution: build-depend on asciidoc and xmlto
2017-01-07 16:10:08 +00:00
Luca Boccassi
9dbbd69480 Merge pull request #2295 from JohanMabille/cmake_win_install
Cmake win install
2017-01-07 01:51:30 +01:00
Johan Mabille
e258890f67 INSTALLATION instructions 2017-01-07 00:47:22 +01:00
Johan Mabille
7c709e5466 cmake install config file 2017-01-07 00:21:06 +01:00
Johan Mabille
e95d23198f CPack option and .txt files installation dir 2017-01-06 14:29:56 +01:00
Luca Boccassi
e80db0e8e5 Merge pull request #2294 from JohanMabille/cmake_precompiled
Windows cmake build fixed
2017-01-06 11:10:41 +01:00
Johan Mabille
2d749a066c Windows cmake build fixed 2017-01-06 10:52:20 +01:00
Constantin Rack
ceb6be7751 Merge pull request #2292 from bluca/osx_sigpipe
Problem: peer can close connection before SO_NOSIGPIPE is set
2017-01-04 20:28:51 +01:00
Luca Boccassi
31a3a06828 Problem: peer can close connection before SO_NOSIGPIPE is set
Solution: setsockopt returns EINVAL if the connection was closed by
the peer after the accept returned a valid socket. This is a valid
network error and should not cause an assert.
To handle this we have to extract the setsockopt from the stream
engine, as there's no clean way to return an error from the
constructor. Instead, try to set this option before creating the
engine in the callers, and return immediately as if the accept
had failed to avoid churn. Do the same for the connect calls by
setting the option in open_socket, so that the option for that
case is set even before connecting, so there's no possible race
condition.
Since this has to be done in 4 places (tcp/ipc listener, socks
connecter and open_socket) add an utility function in ip.cpp.
Fixes #1442
2017-01-04 17:34:33 +00:00
Constantin Rack
d532f2e4d8 Merge pull request #2290 from bluca/doc_proxy_eintr
Problem: zmq_proxy* may return EINTR other than ETERM
2017-01-03 21:21:11 +01:00
Constantin Rack
17ef8c6793 Merge pull request #2289 from bluca/windoze_includes_test
Problem:capitalized include filenames trip mingw
2017-01-03 21:20:46 +01:00
Luca Boccassi
28c7abf821 Problem: zmq_proxy* may return EINTR other than ETERM
Solution: mention this in the documentation
2017-01-03 15:34:08 +01:00
Luca Boccassi
7e186432cb Problem:capitalized include filenames trip mingw
Solution: use lowercase
2017-01-03 14:59:57 +01:00
Luca Boccassi
dce4d06b71 Merge pull request #2288 from paddor/master
fix typos
2017-01-03 12:49:34 +01:00
Patrik Wenger
1b3df75b87 fix typos 2017-01-03 12:45:33 +01:00
Luca Boccassi
ec2ba8a997 Merge pull request #2283 from vtellier/master
Fixed issue #2227 second part
2017-01-01 19:29:09 +01:00
Vincent Tellier
ea7e03a7ff Fixed issue #2286 by documentation
tests/README.md explicitly indicates to check the libzmq.lib path in
CMakeLists.txt.
2017-01-01 19:08:28 +01:00
Vincent Tellier
7e36db07b1 Handshake events null pointer fix
The mechanism is instanciated during the handshake itself, when and
error happen before this, the error method shall work anyway.
An error handling with a NULL mechanism means the handshake fail, so the
handshake failure event is also raised in this case.
2017-01-01 19:08:28 +01:00
Vincent Tellier
ffb31dcadd Fixed issue #2227 second part
- removed the previously added encryption_error, less changes less bug
 - handshake fail is now signaled when an error happen while the
   mechanism is still hanshaking
2017-01-01 19:08:28 +01:00
Constantin Rack
ee98e7dca0 Merge pull request #2287 from bluca/hurd_ipv6_tos
Problem: build fails on GNU/Hurd as it does not support IPV6_TCLASS
2017-01-01 17:06:31 +01:00
Luca Boccassi
efc0e94291 Problem: build fails on GNU/Hurd as it does not support IPV6_TCLASS
Solution: check if IPV6_TCLASS is defined so that when Hurd adds
support it will just work. Also it will avoid tripping over this on
other similar legacy systems.
2017-01-01 16:23:27 +01:00
Constantin Rack
c38fde00a0 Merge pull request #2285 from bluca/bump_versions
Problem: 4.2.1 is out, time to bump versions
2016-12-31 18:25:36 +01:00
Luca Boccassi
7c0ded93af Problem: 4.2.1 is out, time to bump versions
Solution: add new changelog entry, bump library version in zmq.h and
bump ABI version in configure.ac and CMakeLists.txt
2016-12-31 16:26:41 +01:00
Luca Boccassi
7005f22726 Bugfix release 4.2.1
Finalize changelog and bump ABI revision
2016-12-31 15:55:48 +01:00
Kevin Sapper
086bb890c5 Merge pull request #2282 from bluca/event_test
Problems: test_monitor failing, DRAFT events leaking when draft APIs are disabled
2016-12-31 14:13:45 +01:00
Luca Boccassi
3f3601e855 Problem: handshake events not tested with curve
Solution: check that the expected handshake success or failure events
are triggered in the curve security unit test
2016-12-31 01:31:37 +01:00
Luca Boccassi
d50b5b80fd Problem: NEWS entry for ctx option does not point to docs
Solution: fix it
2016-12-30 23:53:20 +01:00
Luca Boccassi
fc748ec799 Problem: new monitor events not mentioned in NEWS
Solution: add an entry
2016-12-30 23:52:27 +01:00
Luca Boccassi
200649fd57 Problem: new handshake event monitoring undocumented
Solution: add them to the event monitor manpage
2016-12-30 23:40:22 +01:00
Luca Boccassi
2afba0085f Problem: documentation does not warn about ZMQ_EVENT_ALL and new events
Solution: add a note pointing out that when new events are added the
ZMQ_EVENT_ALL mask will start returning them, so applications that
can't handle that transparently should not use it and instead pick
only the event types they want.
Creating a new event type and having monitors with ZMQ_EVENT_ALL
return them will not be considered a backward incompatible change
even though the flow of events will change.
2016-12-30 23:27:56 +01:00
Luca Boccassi
c0e2bc4ef9 Problem: new DRAFT monitor events returned even without --enable-draft
Solution: wrap the event triggering in the DRAFT ifdef as well as the
defines. This ensures that the event are returned only if the
library was built with DRAFTs enabled.

Also update the test case to expect the new events since it uses
the catch-all mask. Although the sequence of event is different and
this might be considered as an API breakage, using the catch-all
ZMQ_EVENT_ALL mask implies that, well, all events are monitored so
it's normal that new ones will be added.
Users that don't want this kind of behaviour to change can simply
monitor only the event that they care about.
2016-12-30 23:21:14 +01:00
Luca Boccassi
0ebed80dc1 Merge pull request #2281 from vtellier/master
Code formatting + reverted hard error handshake fail
2016-12-30 21:00:17 +01:00
Vincent Tellier
48bc75e8a1 Code formatting + reverted hard error handshake fail
- Moved new events in draft section + added to zmq_draft.h
 - Removed the remainning tabs
 - Reverted the hard error (back to soft error) in curve_server.cpp

=> The feature doesn't works anymore
2016-12-30 18:34:33 +01:00
Luca Boccassi
0ad600c7de Merge pull request #2280 from vtellier/master
Fixed issue #2227
2016-12-30 17:15:18 +01:00
Vincent Tellier
b6e9e0c2d3 Fixed issue #2227
Added two new monitoring events:
 - ZMQ_EVENT_HANDSHAKE_SUCCEED is raised once the encryption handshake succeed
 - ZMQ_EVENT_HANDSHAKE_FAILED is raised when it failed
Both events are raised on server and client side.
2016-12-30 16:26:42 +01:00
Constantin Rack
64b07d8132 Merge pull request #2278 from bluca/msg_t_size_draft 2016-12-29 21:48:39 +01:00
Luca Boccassi
8c22ba246c Problem: bug fixes not mentioned in NEWS file
Solution: add most relevant bug fixes since 4.2.0
2016-12-29 21:07:39 +01:00