diff options
Diffstat (limited to 'python/qpid/util.py')
-rw-r--r-- | python/qpid/util.py | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/python/qpid/util.py b/python/qpid/util.py index 39ad1d830e..8da17ce0c6 100644 --- a/python/qpid/util.py +++ b/python/qpid/util.py @@ -17,15 +17,19 @@ # under the License. # -import os, socket, time, textwrap, re +import os, socket, time, textwrap, re, sys try: from ssl import wrap_socket as ssl except ImportError: from socket import ssl as wrap_socket class ssl: - def __init__(self, sock, keyfile=None, certfile=None, trustfile=None): + # Bug (QPID-4337): this is the "old" version of python SSL. + # The private key is required. If a certificate is given, but no + # keyfile, assume the key is contained in the certificate + if certfile and not keyfile: + keyfile = certfile self.sock = sock self.ssl = wrap_socket(sock, keyfile=keyfile, certfile=certfile) @@ -38,6 +42,24 @@ except ImportError: def close(self): self.sock.close() +def get_client_properties_with_defaults(provided_client_properties={}): + ppid = 0 + try: + ppid = os.getppid() + except: + pass + + client_properties = {"product": "qpid python client", + "version": "development", + "platform": os.name, + "qpid.client_process": os.path.basename(sys.argv[0]), + "qpid.client_pid": os.getpid(), + "qpid.client_ppid": ppid} + + if provided_client_properties: + client_properties.update(provided_client_properties) + return client_properties + def connect(host, port): for res in socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM): af, socktype, proto, canonname, sa = res |