qpid_proton 0.40.0 → 0.41.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/examples/broker.rb +4 -3
- data/ext/cproton/cproton.c +966 -140
- data/lib/core/uri.rb +6 -1
- data/tests/test_connection_driver.rb +1 -1
- data/tests/test_container.rb +1 -1
- data/tests/test_container_sasl.rb +2 -2
- data/tests/test_interop.rb +26 -2
- data/tests/test_utils.rb +1 -1
- metadata +1 -10
- data/examples/ssl-certs/README.txt +0 -24
- data/examples/ssl-certs/tclient-certificate.p12 +0 -0
- data/examples/ssl-certs/tclient-certificate.pem +0 -19
- data/examples/ssl-certs/tclient-full.p12 +0 -0
- data/examples/ssl-certs/tclient-private-key.pem +0 -30
- data/examples/ssl-certs/tserver-certificate.p12 +0 -0
- data/examples/ssl-certs/tserver-certificate.pem +0 -19
- data/examples/ssl-certs/tserver-full.p12 +0 -0
- data/examples/ssl-certs/tserver-private-key.pem +0 -30
data/lib/core/uri.rb
CHANGED
|
@@ -46,7 +46,12 @@ end
|
|
|
46
46
|
module Qpid::Proton
|
|
47
47
|
private
|
|
48
48
|
# Make sure to allow empty hostnames, Ruby 2.0.0 does not.
|
|
49
|
-
DEFAULT_URI_PARSER =
|
|
49
|
+
DEFAULT_URI_PARSER =
|
|
50
|
+
if defined?(URI::RFC3986_Parser) && URI::DEFAULT_PARSER.is_a?(URI::RFC3986_Parser)
|
|
51
|
+
URI::RFC2396_Parser.new(:HOSTNAME => /(?:#{URI::PATTERN::HOSTNAME})|/)
|
|
52
|
+
else
|
|
53
|
+
URI::Parser.new(:HOSTNAME => /(?:#{URI::PATTERN::HOSTNAME})|/)
|
|
54
|
+
end
|
|
50
55
|
|
|
51
56
|
public
|
|
52
57
|
|
data/tests/test_container.rb
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
require 'test_tools'
|
|
20
|
-
require 'minitest/
|
|
20
|
+
require 'minitest/autorun'
|
|
21
21
|
require 'socket'
|
|
22
22
|
|
|
23
23
|
# Container that listens on a random port
|
|
@@ -64,7 +64,7 @@ class ContainerSASLTest < Minitest::Test
|
|
|
64
64
|
|
|
65
65
|
def initialize()
|
|
66
66
|
if SASL.extended? # Configure cyrus SASL
|
|
67
|
-
@conf_dir = File.expand_path('sasl_conf')
|
|
67
|
+
@conf_dir = ENV['PN_SASL_CONFIG_PATH'] || File.expand_path('sasl_conf')
|
|
68
68
|
@conf_name = "proton-server"
|
|
69
69
|
@database = File.join(@conf_dir, "proton.sasldb")
|
|
70
70
|
@conf_file = File.join(conf_dir,"#{@conf_name}.conf")
|
data/tests/test_interop.rb
CHANGED
|
@@ -35,9 +35,33 @@ class InteropTest < Minitest::Test
|
|
|
35
35
|
buffer = buffer[n..-1]
|
|
36
36
|
end
|
|
37
37
|
@data.rewind
|
|
38
|
+
|
|
39
|
+
# Verify semantic round-trip: decode the re-encoded bytes and compare
|
|
40
|
+
# object contents. Byte-for-byte equality is not required because the
|
|
41
|
+
# encoder may legitimately choose a more compact encoding (e.g. LIST8
|
|
42
|
+
# instead of LIST32) that is semantically identical.
|
|
38
43
|
reencoded = @data.encode
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
reencoded_data = Codec::Data.new
|
|
45
|
+
buffer = reencoded
|
|
46
|
+
while buffer.size > 0
|
|
47
|
+
n = reencoded_data.decode(buffer)
|
|
48
|
+
buffer = buffer[n..-1]
|
|
49
|
+
end
|
|
50
|
+
reencoded_data.rewind
|
|
51
|
+
|
|
52
|
+
# Compare all objects in both data
|
|
53
|
+
original_objects = []
|
|
54
|
+
while @data.next
|
|
55
|
+
original_objects << @data.object
|
|
56
|
+
end
|
|
57
|
+
@data.rewind
|
|
58
|
+
|
|
59
|
+
reencoded_objects = []
|
|
60
|
+
while reencoded_data.next
|
|
61
|
+
reencoded_objects << reencoded_data.object
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
assert_equal(original_objects, reencoded_objects)
|
|
41
65
|
end
|
|
42
66
|
|
|
43
67
|
def decode_data_file(name) decode_data(get_data(name)); end
|
data/tests/test_utils.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: qpid_proton
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.41.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Darryl L. Pierce
|
|
@@ -32,15 +32,6 @@ files:
|
|
|
32
32
|
- examples/server.rb
|
|
33
33
|
- examples/simple_recv.rb
|
|
34
34
|
- examples/simple_send.rb
|
|
35
|
-
- examples/ssl-certs/README.txt
|
|
36
|
-
- examples/ssl-certs/tclient-certificate.p12
|
|
37
|
-
- examples/ssl-certs/tclient-certificate.pem
|
|
38
|
-
- examples/ssl-certs/tclient-full.p12
|
|
39
|
-
- examples/ssl-certs/tclient-private-key.pem
|
|
40
|
-
- examples/ssl-certs/tserver-certificate.p12
|
|
41
|
-
- examples/ssl-certs/tserver-certificate.pem
|
|
42
|
-
- examples/ssl-certs/tserver-full.p12
|
|
43
|
-
- examples/ssl-certs/tserver-private-key.pem
|
|
44
35
|
- examples/ssl_send.rb
|
|
45
36
|
- examples/testme
|
|
46
37
|
- ext/cproton/cproton.c
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
This directory contains basic self signed test certificates for use by
|
|
2
|
-
proton examples.
|
|
3
|
-
|
|
4
|
-
The ".pem" files are in the format expected by proton implementations
|
|
5
|
-
using OpenSSL. The ".p12" file are for Windows implementations using
|
|
6
|
-
SChannel.
|
|
7
|
-
|
|
8
|
-
The commands used to generate the certificates follow.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
make_pn_cert()
|
|
12
|
-
{
|
|
13
|
-
name=$1
|
|
14
|
-
subject=$2
|
|
15
|
-
passwd=$3
|
|
16
|
-
# create the pem files
|
|
17
|
-
openssl req -newkey rsa:2048 -keyout $name-private-key.pem -out $name-certificate.pem -subj $subject -passout pass:$passwd -x509 -days 3650
|
|
18
|
-
# create the p12 files
|
|
19
|
-
openssl pkcs12 -export -out $name-full.p12 -passin pass:$passwd -passout pass:$passwd -inkey $name-private-key.pem -in $name-certificate.pem -name $name
|
|
20
|
-
openssl pkcs12 -export -out $name-certificate.p12 -in $name-certificate.pem -name $name -nokeys -passout pass:
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
make_pn_cert tserver /CN=test_server/OU=proton_test tserverpw
|
|
24
|
-
make_pn_cert tclient /CN=test_client/OU=proton_test tclientpw
|
|
Binary file
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
|
2
|
-
MIIDKzCCAhOgAwIBAgIJAIV7frIjftgcMA0GCSqGSIb3DQEBCwUAMCwxFDASBgNV
|
|
3
|
-
BAMMC3Rlc3RfY2xpZW50MRQwEgYDVQQLDAtwcm90b25fdGVzdDAeFw0xNTExMjcx
|
|
4
|
-
ODEwMzlaFw0yNTExMjQxODEwMzlaMCwxFDASBgNVBAMMC3Rlc3RfY2xpZW50MRQw
|
|
5
|
-
EgYDVQQLDAtwcm90b25fdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
|
6
|
-
ggEBAPCIS4qUdOtQplUxZ6WW0LXcvosqFP6qOiCARLSEWpR3B8bq213rzefwwfcM
|
|
7
|
-
4TtMr88bP+huLKmlyMfwpl8yB88eXkscPgaAce2zk24urWkFXKSQ6GPitWBLGqBa
|
|
8
|
-
V+W0wJ4mfW7MwefVslWfGXI381QEUlBHjkFG30AtzMMTRj2GK2JqUlRXZPljGyB7
|
|
9
|
-
WcXwxcoS+HkKV7FtHWSkLAzyXwQ9vsCUEYdWTUaGXfCUNRSRV7h1LIANbu03NxV0
|
|
10
|
-
XdEl7WXcr7tuTw3axeUGhRFVhLegrxKLuZTTno4aAJnEr8uaDzjxvXnv3Ne2igvy
|
|
11
|
-
gRfZgOMx+XrZEob9OpAoRghQt4cCAwEAAaNQME4wHQYDVR0OBBYEFE4vbyiM0RjG
|
|
12
|
-
TLMLLGGhMZE/5x1GMB8GA1UdIwQYMBaAFE4vbyiM0RjGTLMLLGGhMZE/5x1GMAwG
|
|
13
|
-
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAErr/rvLS9Ig0UCMwh1J1lA9
|
|
14
|
-
/gvXf93iIK/SjrFIAqYRmfZxg4husfoes8t2hFUeuqoH05TuSOoXG8p8DpgTSGmF
|
|
15
|
-
jAFe+T90vJZTm0oqZkkkI/hdzjGQoHURRp9/O2Z/lm39KSKGVAN5pUWCUDi/G5iS
|
|
16
|
-
P9LZPJN6a5syXMrR6x62IPxAXowlpXkRghKClF3zPOaOBTzT1V27EkI8IEgC+p45
|
|
17
|
-
246EooLnw8ibB+ucNc3KHNzpgKGVd/622+I+Q5eg9AT9PLFttP+R2ECsrVDDPYuA
|
|
18
|
-
p0qaSnwgeozj/d6K3FOgKKEKbzBmpWgkv0jdcVk18aPMHypI/RDtZ/+3ET2Ksi8=
|
|
19
|
-
-----END CERTIFICATE-----
|
|
Binary file
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
|
2
|
-
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
-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
-
yTFpmh2KV7kQqmpzCyIOdoG6K8YqFnie2XdFWm3S8faRHoMq54bDmyEWIxfQPq5f
|
|
5
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
QDpVElWZWYrFm4CFTcvS2HvIzRmbefF5m5oJedsN7Q6WQCp+3gnwYx1xIOknd7pW
|
|
17
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
|
|
29
|
-
7/g=
|
|
30
|
-
-----END ENCRYPTED PRIVATE KEY-----
|
|
Binary file
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
|
2
|
-
MIIDKzCCAhOgAwIBAgIJAPnYOOQCJ3kDMA0GCSqGSIb3DQEBCwUAMCwxFDASBgNV
|
|
3
|
-
BAMMC3Rlc3Rfc2VydmVyMRQwEgYDVQQLDAtwcm90b25fdGVzdDAeFw0xNTExMjcx
|
|
4
|
-
ODEwMzlaFw0yNTExMjQxODEwMzlaMCwxFDASBgNVBAMMC3Rlc3Rfc2VydmVyMRQw
|
|
5
|
-
EgYDVQQLDAtwcm90b25fdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
|
6
|
-
ggEBAKJNB78lgw4KtXDAvXocTLud6mbn6zgfB6ETIF+kcrukOH9DnPxjLBBM4Lig
|
|
7
|
-
sp1+kmeudFK5/X8riDrvIW52b/rlEBLgLB+oDtI74m6OTbBs9L+FUFYOuxApetQF
|
|
8
|
-
qoJy2vf9pWfy4uku24vCpeo7eVLi6ypu4lXE3LR+Km3FruHI1NKonHBMhwXSOWqF
|
|
9
|
-
pYM6/4IZJ4fbV0+eU0Jrx+05s6XHg5vone2BVJKxeSIBje+zWnNnh8+qG0Z70Jgp
|
|
10
|
-
aMetME5KGnLNgD1okpH0vb3lwjvuqkkx4WswGVZGbLLkSqqBpXPyM9fCFVy5aKSL
|
|
11
|
-
DBq7IABQtO67O2nBzK3OyigHrUUCAwEAAaNQME4wHQYDVR0OBBYEFGV1PY0FCFbJ
|
|
12
|
-
gpcDVKI6JGiRTt3kMB8GA1UdIwQYMBaAFGV1PY0FCFbJgpcDVKI6JGiRTt3kMAwG
|
|
13
|
-
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAIx1TOTGWnnbpan4bse7wuvH
|
|
14
|
-
GYSNDJhoTVS+X1TC63xukJD1JBAsCNTqg/ZV6lN3XEl7vvOXfGoCiyXM6a9XOKUo
|
|
15
|
-
gSDtMrIr+wTh6Ss1yRO8QcCJmxH5JDXNu1ojtwsjFW/vneI4IL9kwpDsSlMQEX/E
|
|
16
|
-
EkkQwtAx/Cvfe7pecZL4qSeykJOUMTts9H8fCAZqEiRZBA3ugJxqF8jwLP3DoFVQ
|
|
17
|
-
6QZzKDY6CSPqfMnVb5i0MAIYVDpau+e3N9dgQpZD22F/zbua0OVbfAPdiRMnYxML
|
|
18
|
-
FT4sxLnh+5YVqwpVWbEKp4onHe2Fq6YIvAxUYAJ3SBA2C8O2RAVKWxf1jko3jYI=
|
|
19
|
-
-----END CERTIFICATE-----
|
|
Binary file
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
|
2
|
-
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
-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
-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
-
8cZ/jGUF/RF1rqdgjK589eUq+uOl3/gXKzG/SxBqayy6PSn12kX3qnvmlkXCmtwU
|
|
6
|
-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
-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
-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
-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
-
6fuCuZ2lsXfoiIyRh9kj3L75N12GtVUvgBdnMuOc1wPw6XnGQtDwt0acJpdexLMG
|
|
11
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
|
|
29
|
-
WtQ=
|
|
30
|
-
-----END ENCRYPTED PRIVATE KEY-----
|