You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2017/03/15 20:07:10 UTC

[1/4] qpid-proton git commit: PROTON-1438: C url parser allows unbracketed IPv6

Repository: qpid-proton
Updated Branches:
  refs/heads/master 837680004 -> 2f27ee90d


PROTON-1438: C url parser allows unbracketed IPv6

For example the following are considered equivalent:

::1:amqp
[::1]:amqp
amqp://::1
amqp://::1:amqp


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/03ca9bec
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/03ca9bec
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/03ca9bec

Branch: refs/heads/master
Commit: 03ca9bec52d4a7a918a694c64929291edee58824
Parents: 64a05f6
Author: Alan Conway <ac...@redhat.com>
Authored: Wed Mar 15 13:49:12 2017 -0400
Committer: Alan Conway <ac...@redhat.com>
Committed: Wed Mar 15 15:56:30 2017 -0400

----------------------------------------------------------------------
 proton-c/src/core/event.c        | 2 +-
 proton-c/src/core/url-internal.c | 2 +-
 proton-c/src/tests/parse-url.c   | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/03ca9bec/proton-c/src/core/event.c
----------------------------------------------------------------------
diff --git a/proton-c/src/core/event.c b/proton-c/src/core/event.c
index 7a80a72..f36bd28 100644
--- a/proton-c/src/core/event.c
+++ b/proton-c/src/core/event.c
@@ -277,7 +277,7 @@ pn_event_t *pn_event(void)
 
 pn_event_type_t pn_event_type(pn_event_t *event)
 {
-  return event->type;
+  return event ? event->type : PN_EVENT_NONE;
 }
 
 const pn_class_t *pn_event_class(pn_event_t *event)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/03ca9bec/proton-c/src/core/url-internal.c
----------------------------------------------------------------------
diff --git a/proton-c/src/core/url-internal.c b/proton-c/src/core/url-internal.c
index fed82b4..a7186b1 100644
--- a/proton-c/src/core/url-internal.c
+++ b/proton-c/src/core/url-internal.c
@@ -104,7 +104,7 @@ void pni_parse_url(char *url, char **scheme, char **user, char **pass, char **ho
     }
   }
 
-  char *colon = strchr(url, ':');
+  char *colon = strrchr(url, ':'); /* Be flexible about unbracketed IPV6 literals like ::1:<port> */
   if (colon) {
     *colon = '\0';
     *port = colon + 1;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/03ca9bec/proton-c/src/tests/parse-url.c
----------------------------------------------------------------------
diff --git a/proton-c/src/tests/parse-url.c b/proton-c/src/tests/parse-url.c
index c17ff1f..b632237 100644
--- a/proton-c/src/tests/parse-url.c
+++ b/proton-c/src/tests/parse-url.c
@@ -83,8 +83,8 @@ int main(int argc, char **argv)
   // Can't round-trip passwords with ':', not strictly legal but the parser allows it.
   TEST(test("user:1243^&^:pw@[::1]:amqp", 0, "user", "1243^&^:pw", "::1", "amqp", 0));
   TEST(test("user:1243^&^:pw@[::1]:amqp/Foo.bar:90087", 0, "user", "1243^&^:pw", "::1", "amqp", "Foo.bar:90087"));
-  TEST(test("user:1243^&^:pw@[::1:amqp/Foo.bar:90087", 0, "user", "1243^&^:pw", "[", ":1:amqp", "Foo.bar:90087"));
-  TEST(test("user:1243^&^:pw@::1]:amqp/Foo.bar:90087", 0, "user", "1243^&^:pw", 0, ":1]:amqp", "Foo.bar:90087"));
+  TEST(test("user:1243^&^:pw@[::1:amqp/Foo.bar:90087", 0, "user", "1243^&^:pw", "[::1", "amqp", "Foo.bar:90087"));
+  TEST(test("user:1243^&^:pw@::1]:amqp/Foo.bar:90087", 0, "user", "1243^&^:pw", "::1]", "amqp", "Foo.bar:90087"));
 
   TEST(testrt("amqp://user@[::1]", "amqp", "user", 0, "::1", 0, 0));
   TEST(testrt("amqp://user@[::1]:amqp", "amqp", "user", 0, "::1", "amqp", 0));


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[2/4] qpid-proton git commit: NO-JIRA: Get rid of monkeypatch in exampletest.py

Posted by ac...@apache.org.
NO-JIRA: Get rid of monkeypatch in exampletest.py


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/64a05f6e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/64a05f6e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/64a05f6e

Branch: refs/heads/master
Commit: 64a05f6e33a2b14193fff95794bbb0cc994dcbd2
Parents: 8376800
Author: Alan Conway <ac...@redhat.com>
Authored: Thu Mar 9 00:24:19 2017 -0500
Committer: Alan Conway <ac...@redhat.com>
Committed: Wed Mar 15 15:56:30 2017 -0400

----------------------------------------------------------------------
 examples/c/proactor/test.py | 12 ++++++------
 examples/exampletest.py     | 28 ++++++++++++++++------------
 2 files changed, 22 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/64a05f6e/examples/c/proactor/test.py
----------------------------------------------------------------------
diff --git a/examples/c/proactor/test.py b/examples/c/proactor/test.py
index 84c519e..4950cef 100644
--- a/examples/c/proactor/test.py
+++ b/examples/c/proactor/test.py
@@ -34,8 +34,8 @@ class Broker(object):
         self.test = test
 
     def __enter__(self):
-        with bind0() as sock:
-            self.addr = "127.0.0.1:%s/examples" % (sock.port())
+        with TestPort() as port:
+            self.addr = "127.0.0.1:%s" % port
             self.proc = self.test.proc(["broker", self.addr])
             self.proc.wait_re("listening")
             return self
@@ -67,8 +67,8 @@ class CExampleTest(ExampleTestCase):
 
     def test_send_direct(self):
         """Send to direct server"""
-        with bind0() as sock:
-            addr = "127.0.0.1:%s" % sock.port()
+        with TestPort() as port:
+            addr = "127.0.0.1:%s" % port
             d = self.proc(["direct", addr])
             d.wait_re("listening")
             self.assertEqual("10 messages sent and acknowledged\n", self.proc(["send", addr]).wait_out())
@@ -76,8 +76,8 @@ class CExampleTest(ExampleTestCase):
 
     def test_receive_direct(self):
         """Receive from direct server"""
-        with bind0() as sock:
-            addr = "127.0.0.1:%s" % sock.port()
+        with TestPort() as port:
+            addr = "127.0.0.1:%s" % port
             d = self.proc(["direct", addr])
             d.wait_re("listening")
             self.assertEqual(receive_expect(10), self.proc(["receive", addr]).wait_out())

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/64a05f6e/examples/exampletest.py
----------------------------------------------------------------------
diff --git a/examples/exampletest.py b/examples/exampletest.py
index 5c820fd..71aa463 100644
--- a/examples/exampletest.py
+++ b/examples/exampletest.py
@@ -31,18 +31,22 @@ from os.path import dirname as dirname
 
 DEFAULT_TIMEOUT=10
 
-def bind0():
-    """Bind a socket with bind(0) and SO_REUSEADDR to get a free port to listen on"""
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-    sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
-    sock.bind(('', 0))
-    return sock
-
-# Monkeypatch add port() and with support to socket.socket
-socket.socket.port = lambda(self): socket.getnameinfo(self.getsockname(), 0)[1]
-socket.socket.__enter__ = lambda(self): self
-def socket__exit__(self, *args): self.close()
-socket.socket.__exit__ = socket__exit__
+class TestPort(object):
+    """Get an unused port using bind(0) and SO_REUSEADDR and hold it till close()"""
+    def __init__(self):
+        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+        self.sock.bind(('', 0))
+        self.port = socket.getnameinfo(self.sock.getsockname(), 0)[1]
+
+    def __enter__(self):
+        return self.port
+
+    def __exit__(self, *args):
+        self.close()
+
+    def close(self):
+        self.sock.close()
 
 class ProcError(Exception):
     """An exception that captures failed process output"""


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[3/4] qpid-proton git commit: PROTON-1439: messenger tests fail sporadically with interrupt error

Posted by ac...@apache.org.
PROTON-1439: messenger tests fail sporadically with interrupt error

Different messenger tests fail randomly with "Interrupt: [-8]: None"

Disabled the tests by default as the messenger is no longer being maintained,
They can be run with 'proton-tests "*.messenger.*"'


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/98676a12
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/98676a12
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/98676a12

Branch: refs/heads/master
Commit: 98676a12cf9acaf896bade79da0bba4bbd933ae4
Parents: 03ca9be
Author: Alan Conway <ac...@redhat.com>
Authored: Wed Mar 15 15:57:32 2017 -0400
Committer: Alan Conway <ac...@redhat.com>
Committed: Wed Mar 15 15:57:32 2017 -0400

----------------------------------------------------------------------
 tests/python/proton-test | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/98676a12/tests/python/proton-test
----------------------------------------------------------------------
diff --git a/tests/python/proton-test b/tests/python/proton-test
index d8f49d5..951fea8 100755
--- a/tests/python/proton-test
+++ b/tests/python/proton-test
@@ -91,6 +91,9 @@ class Config:
 
 opts, args = parser.parse_args()
 
+# Known bad tests, skipped unless specifically matched on the command line
+known_bad = ["proton_tests.messenger.*"]
+
 includes = []
 excludes = ["*__*__"]
 config = Config()
@@ -119,9 +122,6 @@ for v in opts.ignore_file:
 for a in args:
   includes.append(a.strip())
 
-if not includes:
-  includes.append("*")
-
 def is_ignored(path):
   for p in excludes:
     if match(path, p):
@@ -134,7 +134,10 @@ def is_included(path):
   for p in includes:
     if match(path, p):
       return True
-  return False
+  for p in known_bad:
+    if match(path, p):
+      return False
+  return not includes           # If includes is empty, include everything
 
 def is_smart():
   return sys.stdout.isatty() and os.environ.get("TERM", "dumb") != "dumb"


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[4/4] qpid-proton git commit: NO-JIRA: Remove spurious FIXME comment

Posted by ac...@apache.org.
NO-JIRA: Remove spurious FIXME comment


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/2f27ee90
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/2f27ee90
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/2f27ee90

Branch: refs/heads/master
Commit: 2f27ee90d896f2b0e31b3d2f49946faa537eb1d8
Parents: 98676a1
Author: Alan Conway <ac...@redhat.com>
Authored: Wed Mar 15 15:59:27 2017 -0400
Committer: Alan Conway <ac...@redhat.com>
Committed: Wed Mar 15 15:59:27 2017 -0400

----------------------------------------------------------------------
 proton-c/bindings/cpp/src/io/connection_driver.cpp | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/2f27ee90/proton-c/bindings/cpp/src/io/connection_driver.cpp
----------------------------------------------------------------------
diff --git a/proton-c/bindings/cpp/src/io/connection_driver.cpp b/proton-c/bindings/cpp/src/io/connection_driver.cpp
index 38e5bf2..c00ccf4 100644
--- a/proton-c/bindings/cpp/src/io/connection_driver.cpp
+++ b/proton-c/bindings/cpp/src/io/connection_driver.cpp
@@ -68,7 +68,6 @@ connection_driver::~connection_driver() {
     pn_connection_driver_destroy(&driver_);
 }
 
-// FIXME aconway 2016-11-16: rename _engine > _driver
 void connection_driver::configure(const connection_options& opts, bool server) {
     proton::connection c(connection());
     opts.apply_unbound(c);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org