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]