Richard Newton
ca94cf568b
Add appveyor support for building on windows.
2015-02-04 17:54:26 +00:00
Richard Newton
34cd718e0f
Merge pull request #1337 from somdoron/JenkinsFix
...
problem: jenkins build failed
2015-02-02 14:52:45 +00:00
somdoron
ee962117ef
fix jenkins build
2015-02-02 16:42:50 +02:00
Pieter Hintjens
edb3a13fd4
Merge pull request #1336 from somdoron/ClientSocket
...
problem: client socket is missing
2015-02-02 15:23:18 +01:00
somdoron
79f162aa7b
test the client socket can drop multi frame messages that being sent to it
2015-02-02 16:12:21 +02:00
somdoron
14a19cd5d4
test the server socket can drop multi frame messages that being sent to it
2015-02-02 15:57:30 +02:00
somdoron
862cd41c65
implement client socket type and drop messages when more flag is set on client and server
2015-02-02 11:59:13 +02:00
Pieter Hintjens
a6362a454f
Merge pull request #1334 from somdoron/ServerSocket
...
Problem: sockets are not thread safe
2015-02-02 10:23:58 +01:00
somdoron
5632b57b4a
adds server socket type and routing id to msg
2015-02-02 01:17:37 +02:00
taotetek
9826a7b19d
Merge pull request #1333 from hintjens/master
...
Problem: test cases are failing on slower PCs (eee PC)
2015-01-30 12:12:16 +01:00
Pieter Hintjens
a7a512ab3d
Problem: test cases are failing on slower PCs (eee PC)
...
Solution: raise timeouts from 100-150 msec to 250 msec
2015-01-30 11:57:31 +01:00
Constantin Rack
9fc0d2f1a3
Merge pull request #1331 from jemc/master
...
Problem: qt-android build script out of date
2015-01-29 07:45:56 +01:00
Joe Eli McIlvain
2894634829
Problem: qt-android build script out of date
...
Solution: copy changes from latest zproject
2015-01-28 17:30:35 -08:00
Joe Eli McIlvain
153e0487de
Merge pull request #1330 from rodgert/master
...
Use GCC/Clang compiler intrinsics for atomic operations
2015-01-28 14:55:13 -08:00
Thomas Rodgers
937d485e74
Add cast to make Clang happy
2015-01-28 16:38:14 -06:00
Thomas Rodgers
e6c45f5376
Support using compielr intrinsics for atomic operations
...
Works with GCC and most likely clang
2015-01-28 10:27:15 -06:00
Pieter Hintjens
8c8d23c761
Merge pull request #1328 from rodgert/master
...
Code cleanup - removing unused local
2015-01-27 19:41:45 +01:00
Thomas Rodgers
d8c15cf43b
Code cleanup - removing unused local
2015-01-27 12:40:35 -06:00
Pieter Hintjens
0303131390
Merge pull request #1327 from rodgert/master
...
Clean up of metadata_t
2015-01-27 16:51:46 +01:00
Pieter Hintjens
bccf0bc813
Merge pull request #1326 from rodgert/master
...
resolve #1325 Alignment issue with zmq_msg_t on SPARC CPU
2015-01-27 16:39:02 +01:00
Thomas Rodgers
1c72bf4e55
Clean up of metadata_t
...
* There is no clear reason why the map should hold const std::strings
* This class is never derived, there doesn't seem to be a compelling
reason to ever do so, so no need to make virtual members
* In general const member data is an anti-pattern, the *only* reason
is to prevent assignability, and the accepted idiom for that is to
to declare the assigment operator private. This change does so, and
also prevents copy construction.
2015-01-27 09:33:47 -06:00
Thomas Rodgers
d9fb1d36ff
resolve #1325 Alignment issue with zmq_msg_t on SPARC CPU
...
should be backported probably
2015-01-27 09:20:39 -06:00
Pieter Hintjens
96a27d11c9
Merge pull request #1324 from jruffin/invert-matching
...
Added socket option ZMQ_INVERT_MATCHING.
2015-01-26 18:08:28 +01:00
Julien Ruffin
cf2238f80e
Added socket option ZMQ_INVERT_MATCHING.
...
ZMQ_INVERT_MATCHING reverses the PUB/SUB prefix matching. The subscription
list becomes a rejection list. The PUB socket sends messages to all
connected (X)SUB sockets that do not have any matching subscription.
Whenever the option is used on a PUB/XPUB socket, any connecting SUB
sockets must also set it or they will reject everything the publisher
sends them. XSUB sockets are unaffected because they do not filter out
incoming messages.
2015-01-26 17:59:43 +01:00
Constantin Rack
148cec0a52
Merge pull request #1323 from ricnewton/master
...
Fix Windows build
2015-01-26 10:38:46 +01:00
Richard Newton
415b49ba0d
Fix Windows build
2015-01-26 09:12:07 +00:00
Constantin Rack
4ad2edff38
Merge pull request #1322 from hintjens/master
...
Problem: commit afb24b53 broke ZMQ_STREAM contract
2015-01-23 18:03:10 +01:00
Pieter Hintjens
6ced7027a0
Problem: commit afb24b53 broke ZMQ_STREAM contract
...
Symptom is that ZMQ_STREAM sockets in 4.1.0 and 4.1.1 generate zero
sized messages on each new connection, unlike 4.0.x which did not do
this.
Person who made this commit also changed test cases so that contract
breakage did not show. Same person was later banned for persistently
poor form in CZMQ contributions.
Solution: enable connect notifications on ZMQ_STREAM sockets using a
new ZMQ_STREAM_NOTIFY setting. By default, socket does not deliver
notifications, and behaves as in 4.0.x.
Fixes #1316
2015-01-23 15:25:40 +01:00
Constantin Rack
0d9852a2a5
Merge pull request #1321 from hintjens/master
...
Problem: copyright statements are out of date
2015-01-22 10:49:56 +01:00
Pieter Hintjens
94d9a4ffdf
Problem: copyright statements are out of date
...
Solution: update for 2015
Fixes #1320
2015-01-22 10:32:37 +01:00
Joe Eli McIlvain
fd560b489c
Merge pull request #1319 from rodgert/master
...
Remove more test_id2fd cruft
2015-01-21 14:46:15 -08:00
Thomas Rodgers
73bf0fb1a3
Remoe more test_id2fd cruft
2015-01-21 16:44:41 -06:00
Constantin Rack
3d440507ea
Merge pull request #1317 from topher200/master
...
documentation clarification on pipe::write failure
2015-01-20 21:20:09 +01:00
Topher Brown
708298eaf1
documentation clarification on pipe::write failure
...
When pipe::write succeeds, it takes control of the message's data buffer.
When it fails, it has not taken control. The caller should clean up the
message appropriately (msg::close).
2015-01-20 15:06:58 -05:00
Joe Eli McIlvain
be23e699c9
Merge pull request #1314 from topher200/master
...
Close messages that failed to send
2015-01-19 18:10:11 -08:00
Topher Brown
866a04656e
Close messages that failed to send
...
pipe_t.write only takes control of the underlying message memory when it
succeeds. When it returns failure, we must close the message ourselves to
clean up that memory.
This patch is sponsored by FarSounder, Inc (farsounder.com)
2015-01-19 19:46:26 -05:00
KAPP Arnaud
94b0ad3eaa
Merge pull request #1312 from rodgert/master
...
fix typo in zmq_msg_gets documentation
2015-01-18 03:48:29 +01:00
Thomas Rodgers
40d2f9ad5d
fix typo in zmq_msg_gets documentation
2015-01-17 20:15:31 -06:00
Constantin Rack
53431a5583
Merge pull request #1310 from rodgert/master
...
Fix typo in zmq_msg_gets documentation
2015-01-16 22:54:17 +01:00
Thomas Rodgers
4e89ae616a
Fix typo in zmq_msg_gets documentation
2015-01-16 15:45:09 -06:00
KAPP Arnaud
0e404ec844
Merge pull request #1309 from rodgert/master
...
Add 'Peer-Address' property to connection metadata
2015-01-16 22:43:04 +01:00
Thomas Rodgers
cf2bd3b6ae
Expand on 'Peer-Address' property documentation
2015-01-16 15:37:22 -06:00
Thomas Rodgers
97f3126175
Formatting cleanup
2015-01-16 15:04:19 -06:00
Thomas Rodgers
b443618333
Code cleanup
...
std::map::insert() has always had range based insertion, removed
explicit loops.
2015-01-16 15:03:13 -06:00
Thomas Rodgers
7d224d7871
Add 'Peer-Address' property to connection metadata
...
Allows non-C/C++ based clients easy access to the peer's IP address via
zmq_msg_gets(&msg, "Peer-Address") instead of zmq_msg_get(&msg, ZMQ_SRCFD)
followed by calls to getpeername and getnameinfo
2015-01-16 14:52:16 -06:00
Constantin Rack
2e76bbe4f6
Merge pull request #1308 from rodgert/master
...
Try to clarify the intent of zmq_msg_gets() in documentation
2015-01-16 18:27:40 +01:00
Thomas Rodgers
39285cb969
Try to clarify the intent of zmq_msg_gets() in documentation
2015-01-16 10:50:04 -06:00
Pieter Hintjens
10466626be
Merge pull request #1301 from rodgert/master
...
Make alignment compiler directive
2015-01-13 23:54:25 +01:00
Thomas Rodgers
413f835bc8
Make alignment compiler directive
2015-01-13 16:47:00 -06:00
Pieter Hintjens
b6b990f5f9
Merge pull request #1300 from moteus/master
...
Fix. Use C++03 compatible way to align struct. (Build on MSVC)
2015-01-13 17:07:19 +01:00
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
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
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