Martin Hurton
53bc53da04
Update PLAIN mechanism to the latest ZAP revision
2013-07-18 10:59:34 +02:00
Martin Hurton
d65231be1c
Update CURVE mechanism to the latest ZAP revision
2013-07-18 10:59:31 +02:00
Martin Hurton
7541debe6d
Add get_peer_ip_address utility function
...
The functon returns string representation of peer's
IP address. We will need this to update ZAP implementation.
2013-07-18 10:41:31 +02:00
Ian Barber
4944095262
Merge pull request #615 from hintjens/master
...
Last step in test_spec_req is still failing; disabled it.
2013-07-15 00:15:55 -07:00
Pieter Hintjens
1068bc0795
Merge pull request #616 from steve-o/master
...
Add static libraries to CMake, minor housekeeping.
2013-07-14 14:48:17 -07:00
Steven McCoy
409721b9d2
Add CMake support for static libraries.
2013-07-14 13:58:46 -04:00
Steven McCoy
21fe600848
Move CMake dependencies together.
2013-07-14 13:36:30 -04:00
Steven McCoy
ae86c56d74
README file moved to GitHub format and extension, drop from packaging and default to NEWS file for popup.
2013-07-14 13:26:55 -04:00
Pieter Hintjens
d46c2ee2fc
Disabled last step in test_spec_req so build can complete
2013-07-14 13:04:31 +02:00
Pieter Hintjens
4fb004f59b
Merge pull request #614 from ckamm/fix-spec-req-fail
...
Fix intermittent failure in test_spec_req.
2013-07-14 03:00:06 -07:00
Christian Kamm
7de23c0c8d
Fix intermittent failure in test_spec_req.
...
There still is a problem when a stale peer's message
arrives at the REQ just after a request was sent to that peer.
2013-07-14 11:57:15 +02:00
Pieter Hintjens
bccf3d6126
Merge pull request #613 from ckamm/coding-style-spec-tests
...
Fix coding style in spec tests.
2013-07-14 02:32:20 -07:00
Pieter Hintjens
93b9f9021c
Merge pull request #608 from ckamm/req-drops-unwanted
...
REQ sockets drop replies from unasked peers.
2013-07-14 02:30:21 -07:00
Christian Kamm
bbc9a61197
Fix coding style in spec tests.
2013-07-14 08:33:33 +02:00
Christian Kamm
c56d797bf9
REQ sockets drop replies from unasked peers.
...
* Add lb_t::sendpipe() that returns the pipe that was used for sending,
similar to fq_t::recvpipe().
* Add forwarder functions to dealer_t to access these two.
* Add logic to req_t to ignore replies on pipes that are not the one
where the request was sent.
* Enable test in test_spec_req.
2013-07-14 07:55:47 +02:00
Pieter Hintjens
524bd7ac76
Merge pull request #612 from ulikoehler/markdown
...
Converted README to markdown
2013-07-13 16:27:41 -07:00
Uli Köhler
6bf4ffe727
Converted README to markdown + added travis build img
2013-07-14 00:55:40 +02:00
Pieter Hintjens
7560910f50
Merge pull request #611 from pijyoi/master
...
update Makefile to include new files
2013-07-13 10:39:06 -07:00
KIU Shueng Chuan
0f28b72914
update to include stream.cpp and curve related
2013-07-13 14:31:46 +08:00
Ian Barber
5ac19647d9
Merge pull request #610 from hintjens/master
...
Problem: new spec test cases don't all work
2013-07-08 04:12:06 -07:00
Pieter Hintjens
9ca6898f24
Got new test cases working with libzmq
...
* disabled the specific tests that do not work (yet) on libzmq
* cleaned up one source (test_spec_rep.c) but the others need similar work
* added sleep in test_spec_rep to allow connects time to happen; this would
not be needed if we connected out to the REP peers instead in from them,
but I didn't want to change the logic of the test code.
2013-07-07 12:49:24 +02:00
Pieter Hintjens
08622a7788
Merge pull request #609 from ckamm/tests
...
Make pipeline/reqrep tests try tcp:// endpoints.
2013-07-05 15:36:14 -07:00
Christian Kamm
dfba19c4b6
Make pipeline/reqrep tests try tcp:// endpoints.
...
The inproc:// endpoints sometimes use different code paths so
testing with regular tcp:// endpoints as well can show different
issues.
2013-07-05 17:58:01 +02:00
Pieter Hintjens
5038ef74b5
Merge pull request #606 from ckamm/master
...
Add tests for Request-Reply and Pipeline pattern sockets.
2013-07-05 08:18:41 -07:00
Christian Kamm
8fd163cf5c
Add tests for PUSH/PULL sockets.
2013-07-05 15:20:42 +02:00
Pieter Hintjens
e093bd9923
Merge pull request #607 from cjuniet/master
...
[LIBZMQ-544] Fix compilation errors with Clang
2013-07-03 15:43:09 -07:00
Christophe Juniet
7b7f7e4ebd
Fix compilation warnings on unsigned comparisons.
...
Fix two unsigned comparisons to zero or more being always true. Clang
won't compile this with -Werror.
2013-07-03 22:30:48 +02:00
Christian Kamm
798b394087
Add tests for Request-Reply pattern sockets.
...
* See http://rfc.zeromq.org/spec:28/REQREP
* Not all testable statements are covered.
* At this point, there are several failures:
- test_spec_req: The REQ socket does not correctly discard messages
from peers that are not currently being talked to.
- test_spec_dealer/router: On disconnect, the queues seem to not be
emptied. The DEALER can still receive a message the disconnected
peer sent, the ROUTER can still send to the identity of the dis-
connected peer.
2013-07-02 15:04:31 +02:00
Pieter Hintjens
78e47912d2
Merge pull request #605 from ricnewton/master
...
Fix tab/space formatting issue
2013-07-01 04:41:46 -07:00
Richard Newton
998610602e
Fix tab/space formatting issue
2013-07-01 12:10:57 +01:00
Ian Barber
5a30022045
Merge pull request #603 from ricnewton/master
...
Add monitor event for when monitoring is stopped so we can unblock any sockets waiting on monitor socket.
2013-07-01 04:08:25 -07:00
Ian Barber
a3e16c18b1
Merge pull request #604 from ricnewton/cmake_fix
...
Fix cmake build
2013-07-01 04:07:44 -07:00
Richard Newton
01dd6eb110
Fix cmake build
...
Fix build on windows, uint isn't a standard type, unsigned int is.
2013-07-01 11:52:39 +01:00
Richard Newton
f6e972d546
Fix montior tests to handle the monitor stopped event correctly
2013-07-01 10:31:57 +00:00
Richard Newton
d4d23caf32
Add new socket monitor event for when socket monitoring is stopped.
2013-07-01 11:00:46 +01:00
Pieter Hintjens
1cfee8d1e7
Merge pull request #601 from leewoosung/hotfixes/patched
...
[LIBZMQ-541] pub socket sending fail issue
2013-07-01 02:14:07 -07:00
Pieter Hintjens
2a4aef9223
Merge pull request #602 from hurtonm/master
...
Implement socket type checking
2013-07-01 02:06:29 -07:00
Martin Hurton
783bb890a9
Check socket types during mechanism handshake
2013-07-01 10:12:08 +02:00
ganesh.vr
4671108e57
LIBZMQ-541 issue fix
2013-07-01 15:57:06 +09:00
Pieter Hintjens
58b1082467
Merge pull request #600 from hurtonm/master
...
Set socket buffers before establishing TCP connection
2013-06-29 23:56:04 -07:00
Martin Hurton
afe9afa2a5
Set socket buffers before establishing TCP connection
...
The window scale option carried in SYN segment is computed from socket's
receive buffer size. So we need to set this buffer size before calling
connect or bind.
2013-06-30 07:30:51 +02:00
Ian Barber
11947b1ccb
Merge pull request #597 from hintjens/master
...
Problem: working with binary keys is painful
2013-06-29 09:36:50 -07:00
Ian Barber
a71d64ab95
Merge pull request #599 from hurtonm/master
...
Minor code refactoring
2013-06-29 09:34:47 -07:00
Martin Hurton
aef2171e83
Make last_endpoint attribute of socket object
2013-06-29 17:26:13 +02:00
Martin Hurton
c9bdb893f8
Use generic session class whenever possible
2013-06-29 12:24:36 +02:00
Pieter Hintjens
7460d00bac
Merge pull request #598 from hurtonm/master
...
Use generic session class whenever possible
2013-06-29 02:36:30 -07:00
Martin Hurton
fd7e9b8c46
Use generic session class whenever possible
2013-06-29 11:27:03 +02:00
Pieter Hintjens
7041770108
Added Z85 support
...
The use of binary for CURVE keys is painful; you cannot easily copy
these in e.g. email, or use them directly in source code. There are
various encoding possibilities. Base16 and Base64 are not optimal.
Ascii85 is not safe for source (it generates quotes and escapes).
So, I've designed a new Base85 encoding, Z85, which is safe to use
in code and elsewhere, and I've modified libzmq to use this where
it also uses binary keys (in get/setsockopt).
Very simply, if you use a 32-byte value, it's Base256 (binary),
and if you use a 40-byte value, it's Base85 (Z85).
I've put the Z85 codec into z85_codec.hpp, it's not elegant C++
but it is minimal and it works. Feel free to rewrap as a real class
if this annoys you.
2013-06-28 22:10:22 +02:00
Martin Hurton
1beec5e960
Merge pull request #596 from hintjens/master
...
Problem: mechanisms are lagging behind specs
2013-06-28 05:05:54 -07:00
Pieter Hintjens
76df045950
Return EINVAL when trying to use CURVE without libsodium
2013-06-28 12:04:01 +02:00
Martin Hurton
357a9c45fb
Simplify ZMQ_STREAM socket implementation, part II
2013-06-28 11:44:34 +02:00
Pieter Hintjens
7832addd20
Updated security mechanisms to use variable-length commands
...
RFC23, RFC24, RFC26 now use variable-length command names that
end in null octet (valid C strings) instead of fixed-length
space padded strings.
2013-06-28 11:42:54 +02:00
Pieter Hintjens
ba1ae7d639
Merge pull request #595 from hurtonm/master
...
Another ZMQ_STREAM simplification
2013-06-28 02:28:23 -07:00
Martin Hurton
7b27c125dc
Simplify ZMQ_STREAM socket implementation, part II
2013-06-28 11:24:14 +02:00
Pieter Hintjens
dd14d4e01b
Minor whitespace fixes in man page
2013-06-28 10:16:56 +02:00
Pieter Hintjens
c4ae74f816
Fixed zmq_errno function definition
2013-06-28 10:16:56 +02:00
Pieter Hintjens
fe2753da0a
Merge pull request #594 from hurtonm/master
...
Simplify ZMQ_STREAM socket implementation
2013-06-28 01:15:02 -07:00
Martin Hurton
a1bb5e83ff
Simplify ZMQ_STREAM socket implementation
2013-06-28 09:48:54 +02:00
Martin Hurton
d8f1376008
Merge pull request #593 from hintjens/master
...
Problem: ROUTER+RAW was not a clean API
2013-06-27 14:09:04 -07:00
Pieter Hintjens
ad77937956
Added ZMQ_STREAM socket type
...
- designed for TCP clients and servers
- added HTTP client / server example in tests/test_stream.cpp
- same as ZMQ_ROUTER + ZMQ_ROUTER_RAW + ZMQ_ROUTER_MANDATORY
- includes b893ce set ZMQ_IDENTITY on outgoing connect
- deprecates ZMQ_ROUTER_RAW
2013-06-27 20:53:15 +02:00
Pieter Hintjens
4a4d222ec4
Merge pull request #592 from gavinmcniff/master
...
Store identity for raw socket
2013-06-23 23:29:44 -07:00
Gavin
b893ce2503
Store identity for raw socket
...
Identity stored during connect procedure. Can be read using
zmq_getsockopt and used as the identity frame when sending messages.
This allows the implementation of a raw socket client.
2013-06-23 18:16:33 +01:00
Ian Barber
e9d11c6611
Merge pull request #591 from hurtonm/master
...
Rename parse_properties to parse_metadata
2013-06-23 01:07:59 -07:00
Martin Hurton
b12be41736
Rename parse_properties to parse_metadata
2013-06-23 09:01:52 +02:00
Ian Barber
ec943ac5de
Merge pull request #590 from hurtonm/master
...
Refactor how properties are parsed
2013-06-22 14:19:02 -07:00
Martin Hurton
99d4974580
Refactor how properties are parsed
2013-06-22 19:02:08 +02:00
Martin Hurton
19cf076f8c
Merge pull request #589 from ianbarber/master
...
Add test for CURVE mechanism
2013-06-22 08:28:03 -07:00
Ian Barber
13df8e6546
Merge branch 'master' of git://github.com/zeromq/libzmq
2013-06-22 16:19:26 +01:00
Ian Barber
211bf2b08e
Added security curve test
...
Test is skipped if no libsodium.
Added warning if libsodium not configured
2013-06-22 16:17:25 +01:00
Pieter Hintjens
73e195279a
Merge pull request #588 from hurtonm/master
...
Small code cleanup
2013-06-22 07:25:26 -07:00
Martin Hurton
084e8792de
Small cleanup in pipe.cpp
2013-06-22 16:15:35 +02:00
Ian Barber
2bf51247fe
Merge pull request #587 from hurtonm/master
...
Make ZAP optional for CURVE mechanism
2013-06-22 07:14:28 -07:00
Martin Hurton
fa0f0e21b8
Make ZAP optional for PLAIN mechanism
2013-06-22 16:05:46 +02:00
Pieter Hintjens
8bb79b5eb1
Merge pull request #586 from hurtonm/master
...
Make ZAP optional for CURVE mechanism
2013-06-22 06:42:26 -07:00
Martin Hurton
5975e00fd1
Make ZAP optional for CURVE mechanism
2013-06-22 15:36:21 +02:00
Ian Barber
acaaaa5351
Merge pull request #585 from hintjens/master
...
Problem: allows CURVE security even if libzmq was built without libsodium
2013-06-22 05:19:01 -07:00
Pieter Hintjens
fadfcac1de
Fixed compile error, needed unistd.h
2013-06-22 13:50:22 +02:00
Pieter Hintjens
1ea06883c0
Fixed spelling in comments
2013-06-22 13:39:24 +02:00
Pieter Hintjens
fb43d5a0fe
Whitespace fix to man page
2013-06-22 13:39:24 +02:00
Pieter Hintjens
f4848ddb32
Prints message and exits if app tries to use CURVE without libsodium
2013-06-22 13:39:24 +02:00
Pieter Hintjens
675bd4640b
Merge pull request #584 from hurtonm/master
...
Fix test_disconnect_inproc to work on ILP64 systems
2013-06-22 04:18:27 -07:00
Martin Hurton
1b86324396
Fix test_disconnect_inproc to work on ILP64 systems
2013-06-22 13:05:46 +02:00
Pieter Hintjens
9eb2521537
Merge pull request #583 from ianbarber/master
...
Small stream engine issue and test_monitor tidy up
2013-06-22 03:25:44 -07:00
Ian Barber
694543e3a2
Merge branch 'master' of git://github.com/zeromq/libzmq
2013-06-22 10:59:16 +01:00
Ian Barber
f4c51db842
Fix small streamengine issue w/ term and handshake
...
Also tidy up monitor test a little.
2013-06-22 10:58:16 +01:00
Pieter Hintjens
91bc74089f
Merge pull request #582 from hurtonm/master
...
Implement CurveZMQ message encryption and authentication
2013-06-22 02:57:34 -07:00
Martin Hurton
8af208fab7
Implement ZMTP/3.0 CURVE mechanism
2013-06-22 11:48:44 +02:00
Martin Hurton
e4a211870c
Implement CurveZMQ message encryption and authentication
2013-06-22 11:46:40 +02:00
Martin Hurton
c9638fceb4
Merge pull request #581 from hintjens/master
...
Problem: code isn't setting mechanism to CURVE properly
2013-06-22 02:12:39 -07:00
Pieter Hintjens
8c0ded5076
Properly set mechanism to CURVE when setting a curve option
2013-06-22 11:05:01 +02:00
Ian Barber
c5078ea1b8
Merge pull request #580 from hurtonm/master
...
Stop ZMTP handshake when an unexpected message comes
2013-06-22 01:08:35 -07:00
Martin Hurton
20a7978d67
Stop ZMTP handshake when an unexpected message comes
2013-06-22 08:12:11 +02:00
Pieter Hintjens
92b02b98cd
Merge pull request #579 from ianbarber/master
...
Clean up socket_type_string
2013-06-21 09:00:18 -07:00
Ian Barber
cabf4e658f
Comments to clarify the socket name function
2013-06-21 16:56:45 +01:00
Ian Barber
1fe7820629
Merge pull request #577 from hintjens/master
...
API for CURVE configuration
2013-06-20 11:09:20 -07:00
Pieter Hintjens
c5a9fa5b5e
Merge pull request #578 from gonzus/master
...
Changes to sanity tag in ctx
2013-06-20 09:47:22 -07:00
Gonzalo Diethelm
3b355fec9a
Introduced private constants for the context sanity tag values.
...
Ignored more MSVC intermmediate files.
2013-06-20 12:43:32 -04:00
Pieter Hintjens
10f69c1500
Clarified man pages on mixed security
2013-06-20 18:30:30 +02:00
Pieter Hintjens
d9bb16725e
Added options for CURVE security
...
- ZMQ_CURVE_PUBLICKEY for clients and servers
- ZMQ_CURVE_SECRETKEY for clients
- ZMQ_CURVE_SERVERKEY for clients
- ZMQ_CURVE_SERVER for servers
- added tools/curve_keygen.c as example
- updated man pages
2013-06-20 18:09:12 +02:00
Pieter Hintjens
65c84abdb5
Merge pull request #576 from hurtonm/zmtp_curve
...
Implement ZMTP/3.0 CURVE handshake
2013-06-20 05:27:49 -07:00