Author: rhs
Date: Mon Jan 30 21:04:58 2012
New Revision: 1238012

URL: http://svn.apache.org/viewvc?rev=1238012&view=rev
Log:
QPID-3175: applied patch with a default sasl_mechanisms of ANONYMOUS

Modified:
    qpid/trunk/qpid/python/qpid/messaging/endpoints.py
    qpid/trunk/qpid/python/qpid/messaging/transports.py
    qpid/trunk/qpid/python/qpid/sasl.py

Modified: qpid/trunk/qpid/python/qpid/messaging/endpoints.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/messaging/endpoints.py?rev=1238012&r1=1238011&r2=1238012&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/messaging/endpoints.py (original)
+++ qpid/trunk/qpid/python/qpid/messaging/endpoints.py Mon Jan 30 21:04:58 2012
@@ -116,6 +116,13 @@ class Connection(Endpoint):
     @type address_ttl: float
     @param address_ttl: time until cached address resolution expires
 
+    @type ssl_keyfile: str
+    @param ssl_keyfile: file with client's private key (PEM format)
+    @type ssl_certfile: str
+    @param ssl_certfile: file with client's public (eventually priv+pub) key 
(PEM format)
+    @type ssl_trustfile: str
+    @param ssl_trustfile: file trusted certificates to validate the server
+
     @rtype: Connection
     @return: a disconnected Connection
     """
@@ -141,7 +148,7 @@ class Connection(Endpoint):
     self.password = default(url.password, options.get("password", None))
     self.auth_username = None
 
-    self.sasl_mechanisms = options.get("sasl_mechanisms")
+    self.sasl_mechanisms = options.get("sasl_mechanisms", "ANONYMOUS")
     self.sasl_service = options.get("sasl_service", "qpidd")
     self.sasl_min_ssf = options.get("sasl_min_ssf")
     self.sasl_max_ssf = options.get("sasl_max_ssf")
@@ -160,6 +167,10 @@ class Connection(Endpoint):
     self.address_ttl = options.get("address_ttl", 60)
     self.tcp_nodelay = options.get("tcp_nodelay", False)
 
+    self.ssl_keyfile = options.get("ssl_keyfile", None)
+    self.ssl_certfile = options.get("ssl_certfile", None)
+    self.ssl_trustfile = options.get("ssl_trustfile", None)
+
     self.options = options
 
 

Modified: qpid/trunk/qpid/python/qpid/messaging/transports.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/messaging/transports.py?rev=1238012&r1=1238011&r2=1238012&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/messaging/transports.py (original)
+++ qpid/trunk/qpid/python/qpid/messaging/transports.py Mon Jan 30 21:04:58 2012
@@ -61,7 +61,7 @@ else:
 
     def __init__(self, conn, host, port):
       SocketTransport.__init__(self, conn, host, port)
-      self.tls = wrap_socket(self.socket)
+      self.tls = wrap_socket(self.socket, keyfile=conn.ssl_keyfile, 
certfile=conn.ssl_certfile, ca_certs=conn.ssl_trustfile)
       self.socket.setblocking(0)
       self.state = None
 

Modified: qpid/trunk/qpid/python/qpid/sasl.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/sasl.py?rev=1238012&r1=1238011&r2=1238012&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/sasl.py (original)
+++ qpid/trunk/qpid/python/qpid/sasl.py Mon Jan 30 21:04:58 2012
@@ -89,6 +89,8 @@ class PlainClient:
       return "PLAIN", "\0%s\0%s" % (self.attrs.get("username"), 
self.attrs.get("password"))
     elif "ANONYMOUS" in mechs:
       return "ANONYMOUS", "%s@%s" % (self.attrs.get("username"), 
socket.gethostname())
+    elif "EXTERNAL" in mechs:
+      return "EXTERNAL", "%s" % (self.attrs.get("username"))
     else:
       raise SASLError("sasl negotiation failed: no mechanism agreed")
 



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to