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
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
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
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
c4ae74f816
Fixed zmq_errno function definition
2013-06-28 10:16:56 +02:00
Martin Hurton
a1bb5e83ff
Simplify ZMQ_STREAM socket implementation
2013-06-28 09:48:54 +02: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
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
Martin Hurton
b12be41736
Rename parse_properties to parse_metadata
2013-06-23 09:01:52 +02:00
Martin Hurton
99d4974580
Refactor how properties are parsed
2013-06-22 19:02:08 +02: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
Pieter Hintjens
1ea06883c0
Fixed spelling in comments
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
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
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
Martin Hurton
20a7978d67
Stop ZMTP handshake when an unexpected message comes
2013-06-22 08:12:11 +02: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
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
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
Martin Hurton
37b99c0b4b
Implement ZMTP/3.0 CURVE handshake
2013-06-20 13:36:12 +02:00
xinchuan
38327927ce
fix memory leak in tempnam() usage
2013-06-15 16:11:50 +08:00
shripchenko
627190c8be
another iteration on ZMQ_PROBE_ROUTER
...
now it properly works for ROUTER
2013-06-10 02:31:00 -07:00
Pieter Hintjens
6ff51ee909
Updated ZAP request for changed protocol draft
...
- username and password sent as two string frames
- fixed test case to match
2013-06-07 15:50:36 +02:00
Martin Hurton
2928c91a6d
Implement ZAP and integrate it with PLAIN mechanism
2013-06-06 13:28:21 +02:00
Martin Hurton
4e47084dd4
Minor cleanups
2013-06-06 13:28:21 +02:00
Martin Hurton
c3e40736de
Rename terminated->pipe_terminated
2013-06-06 13:28:21 +02:00
Pieter Hintjens
a9679da764
Packaging on ZMQ_PROBE_ROUTER
...
- renamed to ZMQ_PROBE_ROUTER
2013-06-05 15:55:15 +02:00
shripchenko
97324398a7
refactored ZMQ_ROUTER_ANNOUNCE_SELF code. renamed it to ZMQ_PROBE_NEW_PEERS.
...
implement it for DEALER tocket.
+documentation
2013-06-05 15:29:40 +02:00
Josh Gao
43d049741f
Fix mistaken use of xor in "2^31 - 1".
2013-05-31 15:54:01 -07:00
Ian Barber
9a0b2c8970
Pieter's change to fix memory leak on mechanism
2013-05-29 21:58:20 +01:00
Pieter Hintjens
240eff384a
Merge pull request #563 from shripchenko/master
...
Refactoring of 'ZMQ_ROUTER_ANNOUNCE_SELF'
2013-05-29 09:03:54 -07:00
Martin Hurton
4e4803e07f
Rename pipe states to make it more mnemonic
2013-05-28 13:45:20 +02:00
shripchenko
f805e4dd03
changed option name. +documentation changes
2013-05-24 07:09:53 -07:00
shripchenko
aec989fb5d
small refactoring
2013-05-23 02:02:18 -07:00
shripchenko
51750a7d2a
refactored ZMQ_ROUTER_ANNOUNCE_SELF code. renamed it to ZMQ_PROBE_NEW_PEERS.
...
implement it for DEALER tocket.
+documentation
2013-05-23 01:49:40 -07:00
Martin Hurton
f781eb7e7b
Merge pull request #562 from hintjens/master
...
Removed tracing on router option setting
2013-05-22 07:05:20 -07:00
Pieter Hintjens
fbd1729cbd
Removed tracing for Travis builds
2013-05-22 00:17:03 +02:00