0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-22 07:29:31 +08:00

4802 Commits

Author SHA1 Message Date
Alexey Melnichuk
57cb34f123 Fix. Use C++03 compatible way to align struct. (Build on MSVC)
#1299 break compiling with MSVC 2010.
2015-01-13 19:09:49 +04:00
Pieter Hintjens
3503fdad33 Merge pull request #1299 from rodgert/master
Align inter-thread shared structures on cache-line granularity
2015-01-12 20:43:29 +01:00
Thomas Rodgers
6372fc2e56 Align inter-thread shared structers on cache-line granularity
Specifically ypipe_t specializations for msg_t and command_t.

Currently only supports platforms where posix_memalign is available.
2015-01-12 13:37:32 -06:00
Pieter Hintjens
c816e42266 Merge pull request #1298 from rodgert/master
Increase size of zmq_msg_t to 64 bytes
2015-01-10 23:58:57 +01:00
Thomas Rodgers
90194036bf Increase size of zmq_msg_t to 64 bytes
Increasing it would have at least two benefits -

* More messages would be 'VSM' messages, so it would reduce allocation
overhead a bit.
* Remove any chance of false sharing of things that are, by design,
pushed by value onto a ypipe_t<msg_t> which is shared between two threads.

The only downside I see is slightly increased memory consumption on memory
constrained applications.

- Full discussion of this rationale is part of issue #1295
2015-01-10 16:44:55 -06:00
Constantin Rack
95e7611471 Merge pull request #1297 from rodgert/master
Remove ZMQ_IDENTITY_FD socket option
2015-01-10 00:44:45 +01:00
Thomas Rodgers
a55005feb1 Remove documentation for ZMQ_IDENTITY_FD 2015-01-09 17:32:05 -06:00
Thomas Rodgers
7c0a644625 Remove of ZMQ_IDENTITY_FD socket option
Revert "linking fd to pipe identity via socket option"

This reverts commit fe3e8c5c70dc3fbcb0244c5f4c52dcd71b80f858.

Conflicts:
	include/zmq.h
	src/pipe.hpp
	src/session_base.cpp
2015-01-09 17:28:50 -06:00
Thomas Rodgers
a450bdefec Revert "resolve #1292 ZMQ_IDENTITY_FD does not validate option_len"
This reverts commit 45c68154460b5cc828cb7ac027e5407776bff2ca.
2015-01-09 16:44:35 -06:00
Pieter Hintjens
1ae98c7422 Merge pull request #1293 from rodgert/master
resolve #1292 ZMQ_IDENTITY_FD does not validate option_len
2015-01-08 16:39:18 +01:00
Thomas Rodgers
45c6815446 resolve #1292 ZMQ_IDENTITY_FD does not validate option_len 2015-01-08 08:37:28 -06:00
Telford Berkey
fa1f676ce5 Merge remote-tracking branch 'upstream/master' 2015-01-05 12:56:35 -05:00
Pieter Hintjens
4e9e719ff3 Merge pull request #1286 from ricnewton/master
Remove int typedefs and use stdint.h for windows.
2015-01-05 15:01:06 +01:00
Richard Newton
b1305bbec3 Remove int typedefs and use stdint.h for windows. 2015-01-05 13:45:39 +00:00
Pieter Hintjens
25f153980b Merge pull request #1283 from DaiyuHurst/master
Implement a definitive cygwin target for libzmq.
2015-01-05 11:47:09 +01:00
Joe Eli McIlvain
c993ac88ae Merge pull request #1284 from hintjens/master
Problem: incomplete definition of integer types
2014-12-31 06:26:49 -08:00
Pieter Hintjens
89a2041755 Problem: incomplete definition of integer types
Firstly, only a few types are defined, leaving it hard for higher layers
to complete the set. Secondly, the code incorrectly tries to use ifndef
to avoid re-defining typedefs, which does not work in C.

Solution: define all types, unconditionally for all MSVC compilers.
Additionally, define ZMQ_DEFINED_STDINT that tells higher layers that we
already defined these integer types.
2014-12-31 13:26:48 +01:00
DaiyuHurst
5d084cdfdd Implement a definitive cygwin target for libzmq. 2014-12-29 17:39:19 -05:00
Joe Eli McIlvain
d2bacdf591 Merge pull request #1282 from hintjens/master
Fixed atomic API, which used 'bool'
2014-12-23 09:30:46 -05:00
Pieter Hintjens
eacd4d9cba Problem: test cases were sporadically failing
Solution: increase settle time for bind/unbind tests
2014-12-23 15:21:22 +01:00
Pieter Hintjens
04664f0ef7 Problem: 'bool' is not defined by default
zmq_atomic_counter_dec returned a 'bool' value, yet this isn't
defined by standard, so causes compile errors in upstream code.

Solution: return an int that can be safely converted to bool if
needed by bindings.
2014-12-23 15:20:10 +01:00
Constantin Rack
ae53b27b70 Merge pull request #1281 from hintjens/master
Problem: need atomic reference counting in several projects
2014-12-23 09:43:01 +01:00
Pieter Hintjens
2de940b422 Problem: need atomic reference counting in several projects
Solution: as libzmq already provides this across all platforms,
expose an atomic counter API. I've not wrapped atomic pointers,
though someone who needs this may want to do so.
2014-12-23 01:14:38 +01:00
Joe Eli McIlvain
07229c72ba Merge pull request #1280 from hintjens/master
Problem: very hard to debug security mechanism mismatch
2014-12-19 16:45:07 -08:00
Pieter Hintjens
17937ffcf0 Problem: very hard to debug security mechanism mismatch
E.g. when server is not configured, and client tries PLAIN security,
there is no hint of why this does not work.

Solution: add debugging output for this case. Note that the various
debugging outputs for security failures should probably be sent to
an inproc monitor of some kind.
2014-12-19 22:17:14 +01:00
Telford Berkey
f78f4e3f73 Changed library name to zmq.lib. 2014-12-12 16:45:29 -05:00
Telford Berkey
5b1b3b56d3 Updated Cmake file to remove ascii doc. 2014-12-09 10:33:15 -05:00
Pieter Hintjens
187c743841 Merge pull request #1276 from hintjens/master
Problem: zmq_epgm is duplicate of zmq_pgm
2014-12-07 17:08:29 +01:00
Pieter Hintjens
f5f4d27354 Problem: zmq_epgm is duplicate of zmq_pgm
There is zero benefit to this, and some confusion due to the special
case nature of this man page.

Solution: delete the zmq_epgm man page.
2014-12-07 17:04:52 +01:00
Pieter Hintjens
ffb7cab4b3 Merge pull request #1275 from pmienk/master
Fix #1274
2014-12-04 23:22:13 +01:00
Phillip Mienk
510eabaec8 Alter --with-libsodium default. 2014-12-04 14:09:14 -08:00
Pieter Hintjens
4494286e92 Merge pull request #1272 from minrk/security-old-zmtp
reject old ZMTP connections if auth enabled
2014-12-04 13:30:59 +01:00
Min RK
5385a51527 craft vanilla socket security test messages
use explicit ZMTP/1.0 anonymous greeting
rather than HTTP request that just happened to work
2014-12-03 14:52:39 -08:00
Min RK
5a8b46e375 allow vanilla socket security tests to run on Windows
- add ws2tcpip.h
- alias close->closesocket
- increment port in sec_null test
2014-12-03 14:07:07 -08:00
Min RK
efed3d010d add session->zap_enabled()
checks mechanism != NULL, or NULL + non-empty zap_domain
2014-12-03 13:46:28 -08:00
Min RK
6cf120eaad reject old ZMTP connections if auth enabled
auth mechanisms were only enabled when ZMTP handshake
is latest version, meaning that connections from old sockets
would skip authentication altogether
2014-12-03 12:47:31 -08:00
Min RK
c35c0ca1bb test unauthenticated messages from vanilla sockets
fails on all auth mechanisms
2014-12-03 10:34:34 -08:00
Constantin Rack
c57d557460 Merge pull request #1269 from somdoron/manual_and_welcome
Manual and welcome documentation
2014-11-27 05:20:31 +01:00
Doron Somech
dd809de6ff add to authors 2014-11-26 22:49:15 +02:00
Doron Somech
cdf4a1211d documentation for welcome msg and xpub manual 2014-11-26 22:47:42 +02:00
Constantin Rack
bcaae7de01 Merge pull request #1268 from somdoron/manual_and_welcome
remove debug printf in test_xpub_welcome_msg
2014-11-26 14:56:53 +01:00
Doron Somech
0ac0b04755 remove debug printf in test_xpub_welcome_msg 2014-11-26 15:53:50 +02:00
Constantin Rack
9bd34100b1 Merge pull request #1267 from somdoron/manual_and_welcome
Manual and welcome
2014-11-26 13:31:38 +01:00
somdoron
768b62eb9d xpub welcome msg 2014-11-26 14:20:55 +02:00
somdoron
96e29f1455 Add manual control over subscriptions to Pub 2014-11-26 13:08:39 +02:00
Constantin Rack
cefce68a97 Merge pull request #1262 from hurtonm/master
Fix issue #1257
2014-11-24 15:17:14 +01:00
Martin Hurton
905b1683c7 Fix issue #1257 2014-11-24 15:07:59 +01:00
Pieter Hintjens
1680a3cea1 Merge pull request #1260 from abbradar/master
Fix test_filter_ipc for cleared supplementary groups
2014-11-20 05:28:13 +02:00
Nikolay Amiantov
32b2d3034b Fix test_filter_ipc for cleared supplementary groups
This should fix part of [https://github.com/zeromq/libzmq/issues/1129].
2014-11-20 05:08:45 +03:00
Constantin Rack
cb5eebd8b7 Merge pull request #1258 from hintjens/master
Problem: linger values other than -1 or 0 are unsafe
2014-11-17 15:29:25 +01:00
Pieter Hintjens
b6e61d72b2 Problem: linger values other than -1 or 0 are unsafe
Solution: set defaults back to infinity, and add new context
option, ZMQ_BLOCKY that the user can set to false to get a
less surprising behavior on context termination. Eg.

    zmq_ctx_set (ctx, ZMQ_BLOCKY, false);
2014-11-17 11:56:59 +01:00
Constantin Rack
f448af948d Merge pull request #1255 from klaussfreire/master
Fix busy-polling when reaching the rate limit
2014-11-10 18:13:20 +01:00
Claudio Freire
6a227b2ee4 Re-enable pollout before cancelling tx timeout 2014-11-10 14:00:34 -03:00
Claudio Freire
3de1163369 Fix busy-polling bug in pgm_sender causing it to consume CPU cycles 2014-11-10 13:22:54 -03:00
Pieter Hintjens
fca34e5e5a Merge pull request #1253 from minrk/linger-timeout
use more conservative 30 second default timeout for LINGER
2014-11-09 20:00:47 +01:00
Min RK
35dd85a1db use more conservative 30 second default timeout for LINGER
Regression in #1248 can cause lost messages at exit.
2014-11-09 10:05:04 -08:00
Pieter Hintjens
ed4f342633 Merge pull request #1252 from c-rack/master
Problem: return code of sodium_init() is not checked.
2014-11-08 12:07:04 +01:00
Constantin Rack
479db21136 Problem: return code of sodium_init() is not checked.
There are two todo comments in curve_client.cpp and curve_server.cpp that suggest
checking the return code of sodium_init() call. sodium_init() returns -1 on error,
0 on success and 1 if it has been called before and is already initalized:
https://github.com/jedisct1/libsodium/blob/master/src/libsodium/sodium/core.c
2014-11-08 10:50:17 +01:00
Constantin Rack
6dc9db1ede Merge pull request #1251 from johntconklin/master
Use consistent spelling, fix typos.
2014-11-08 08:16:14 +01:00
J.T. Conklin
bc718b5307 Merge remote-tracking branch 'upstream/master' 2014-11-07 22:36:37 -08:00
J.T. Conklin
ea011a33de Fix typos. 2014-11-07 22:30:15 -08:00
J.T. Conklin
afec8440ae Use consistant spelling in documentation
behavior -> behaviour
initialize -> initialse
initialization -> initialisation
2014-11-07 22:27:41 -08:00
Constantin Rack
7b6e310b47 Merge pull request #1248 from hintjens/master
Problem: default LINGER value is insane
2014-11-07 23:52:00 +01:00
Pieter Hintjens
661bccb5bc Merge pull request #1250 from c-rack/master
No error-checking of setsockopt ZMQ_CURVE_* z85 keys. Solves #1094.
2014-11-07 21:01:39 +01:00
Constantin Rack
e00ea532df Add tests for issue #1094. 2014-11-07 17:35:41 +01:00
Constantin Rack
1844fc3284 Problem: No error-checking of setsockopt ZMQ_CURVE_* z85 keys. Solves #1094. 2014-11-07 16:56:49 +01:00
Pieter Hintjens
7781375adf Problem: default LINGER value is insane
Solution: use a sane value, e.g. 2 seconds

Fixes #1247
2014-11-06 15:32:31 +01:00
Martin Hurton
6d9f97ad60 Merge pull request #1246 from hintjens/master
Documentation fix for zmq_ctx_term
2014-11-06 11:51:38 +01:00
Pieter Hintjens
ea9f7acce3 Problem: zmq_ctx_term has insane behavior by default
Solution: document this with a clear warning. It would be
nicer perhaps to change the default LINGER to e.g. a few
seconds. However this could break existing applications.
2014-11-06 10:55:26 +01:00
Pieter Hintjens
e3817a160a Merge pull request #1244 from johntconklin/master
Fix typo: addres -> address
2014-11-05 16:20:31 +01:00
J.T. Conklin
7176b854bc Fix typo: endpoind -> endpoint 2014-11-05 06:24:22 -08:00
J.T. Conklin
b6ae984b11 Fix typo: addres -> address 2014-11-05 06:18:25 -08:00
Pieter Hintjens
eda042d610 Merge pull request #1243 from jemc/master
Problem: qt-android build doesn't fully work for downstream builds
2014-11-05 07:32:00 +01:00
Joe McIlvain
5b6293c57e Problem: qt-android build doesn't fully work for downstream builds
Solution: Fix the qt-android build
2014-11-04 13:55:48 -08:00
Pieter Hintjens
57eff1bec0 Merge pull request #1242 from pmienk/master
Restore structure to targets lost during nonrecursive refactor.
2014-11-04 07:29:39 +01:00
Phillip Mienk
384fbbeca5 Restore structure to targets lost during nonrecursive refactor. 2014-11-03 14:14:18 -08:00
Pieter Hintjens
be55c5ac3d Fixed .gitignore for mains in root 2014-11-03 17:28:18 +01:00
Pieter Hintjens
4a79f095b3 Merge pull request #1241 from jemc/builds-qt-android
Problem: No builtin way to build for qt-android
2014-11-03 06:08:19 +01:00
Joe McIlvain
aeec276b85 Problem: Travis ci logs are too long
Solution: Don't print tar extraction verbosely
2014-11-02 17:39:01 -08:00
Joe McIlvain
eae679718e Problem: No builtin way to build for qt-android
Solution: Add qt-android build system and add to travis-ci
2014-11-02 17:33:23 -08:00
Richard Newton
98e22da1ee Merge pull request #1234 from lysyloren/master
Disable IPC testing on ipc-incapable systems in test_term_endpoint.cpp
2014-10-29 09:20:19 +00:00
lysyloren
87c22364d6 Disable IPC testing on ipc-incapable systems in test_term_endpoint.cpp 2014-10-29 10:10:14 +01:00
Pieter Hintjens
b863709eda Merge pull request #1233 from lysyloren/master
Added test and updated documentation for unbind wild-card * binded socke...
2014-10-29 09:47:51 +01:00
lysyloren
f47960e4bc Added test and updated documentation for unbind wild-card * binded socket 2014-10-29 09:43:47 +01:00
Pieter Hintjens
c9eb7b8a7b Merge pull request #1229 from lysyloren/master
Unbind socket with real endpoint when binding by wild-card * address
2014-10-28 19:08:58 +01:00
Pieter Hintjens
4c6ea1252e Merge pull request #1232 from johntconklin/master
Support both --enable-eventfd and --disable-eventfd options.
2014-10-28 13:38:32 +01:00
J.T. Conklin
10c18f7408 Support both --enable-eventfd and --disable-eventfd options. 2014-10-28 05:03:31 -07:00
Pieter Hintjens
3ac1925dcc Merge pull request #1231 from johntconklin/master
Pass --with/--without-libgssapi_krb5 to configure.
2014-10-28 08:23:03 +01:00
J.T. Conklin
f78cbc50eb Correct libgssapi_krb5 packages. 2014-10-27 21:19:03 -07:00
J.T. Conklin
0fe9cec92e Pass --with/--without-libgssapi_krb5 to configure. 2014-10-27 20:36:45 -07:00
lysyloren
09e7416ee9 Unbind socket with real endpoint when binding by wild-card * address 2014-10-27 14:16:36 +01:00
Pieter Hintjens
d6c4750d26 Merge pull request #1226 from pmienk/master
Standardize optional libgssapi_krb5 dependency
2014-10-25 14:59:39 +02:00
Phillip Mienk
2153043614 Add support for --with/--without libgssapi_krb5 2014-10-25 01:31:30 -07:00
Phillip Mienk
1735c1e462 Add --with-libgssapi_krb5 to match libsodium and pgm. 2014-10-25 01:10:53 -07:00
Pieter Hintjens
9b2700cad2 Merge pull request #1225 from hurtonm/master
Fix issue #1224
2014-10-23 10:27:30 +02:00
Martin Hurton
1fd1d519a8 Fix issue #1224 2014-10-23 10:25:12 +02:00
Pieter Hintjens
e9b9860752 Merge pull request #1223 from xaqq/build-script
Improve build script error checking.
2014-10-21 22:32:18 +02:00
Arnaud Kapp
216caee1b3 Improve build script error checking.
This commit adds a check to make sure pkg-config is present on the
computer building libzmq.
This particular line was stolen from the debian mailing list.
See https://lists.debian.org/debian-dpkg/2011/04/msg00054.html
2014-10-21 22:27:38 +02:00
Pieter Hintjens
e74b10bc8c Merge pull request #1222 from zeromq/revert-1183-size_fix
Revert "ZMQ API diverges from POSIX"
2014-10-21 08:23:51 +02:00
Pieter Hintjens
0d459318e3 Revert "ZMQ API diverges from POSIX" 2014-10-20 23:18:18 +02:00