diff --git a/src/Site/SiteAnnouncer.py b/src/Site/SiteAnnouncer.py index 484d48fb..48a05e69 100644 --- a/src/Site/SiteAnnouncer.py +++ b/src/Site/SiteAnnouncer.py @@ -172,7 +172,13 @@ class SiteAnnouncer(object): if "://" not in tracker or not re.match("^[A-Za-z0-9:/\\.#-]+$", tracker): return None protocol, address = tracker.split("://", 1) - ip, port = address.rsplit(":", 1) + try: + ip, port = address.rsplit(":", 1) + except ValueError as err: + ip = address + port = 80 + if protocol.startswith("https"): + port = 443 back = {} back["protocol"] = protocol back["address"] = address diff --git a/src/util/SslPatch.py b/src/util/SslPatch.py index a83f7fac..a1e5f33f 100644 --- a/src/util/SslPatch.py +++ b/src/util/SslPatch.py @@ -32,6 +32,14 @@ def getLibraryPath(): except Exception, err: logging.debug("OpenSSL lib not found in: %s (%s)" % (lib_dir, err)) + if "LD_LIBRARY_PATH" in os.environ: + lib_dir_paths = os.environ["LD_LIBRARY_PATH"].split(":") + for path in lib_dir_paths: + try: + return [lib for lib in os.listdir(path) if "libcrypto.so.1.0" in lib][0] + except Exception, err: + logging.debug("OpenSSL lib not found in: %s (%s)" % (path, err)) + return ( ctypes.util.find_library('ssl.so.1.0') or ctypes.util.find_library('ssl') or ctypes.util.find_library('crypto') or ctypes.util.find_library('libcrypto') or 'libeay32'