Skip to content

Commit

Permalink
Added Custom Openssl Path for Native Clients
Browse files Browse the repository at this point in the history
This Parameter helpful where openssl path is not fixed always, we can also use this to reduce code verbosity by providing other like these and provide them as parameter
```
            if sys.platform.startswith("win"):
                self.openssl_bin = "tools\\openssl\\openssl.exe"
            elif config.dist_type.startswith("bundle_linux"):
                self.openssl_bin = "../runtime/bin/openssl"
            else:
                self.openssl_bin = "openssl"
```

Also Fixed Tracker files provided are not loading on some systems like Android client where path storage access is restricted
  • Loading branch information
canewsin committed Feb 13, 2020
1 parent 28ce08d commit c553c2b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
9 changes: 8 additions & 1 deletion src/Config.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ def __init__(self, argv):

self.config_file = self.start_dir + "/zeronet.conf"
self.data_dir = self.start_dir + "/data"
self.openssl_path = "default"
self.log_dir = self.start_dir + "/log"

self.trackers_file = False
Expand Down Expand Up @@ -108,6 +109,7 @@ def createArguments(self):

config_file = self.start_dir + "/zeronet.conf"
data_dir = self.start_dir + "/data"
openssl_path = "default"
log_dir = self.start_dir + "/log"

ip_local = ["127.0.0.1", "::1"]
Expand Down Expand Up @@ -259,6 +261,7 @@ def createArguments(self):
self.parser.add_argument('--ip_external', help='Set reported external ip (tested on start if None)', metavar='ip', nargs='*')
self.parser.add_argument('--offline', help='Disable network communication', action='store_true')

self.parser.add_argument('--openssl_path', help='Custom Path to OpenSSL Binary', default=openssl_path, metavar="path")
self.parser.add_argument('--disable_udp', help='Disable UDP connections', action='store_true')
self.parser.add_argument('--proxy', help='Socks proxy address', metavar='ip:port')
self.parser.add_argument('--bind', help='Bind outgoing sockets to this address', metavar='ip')
Expand Down Expand Up @@ -321,6 +324,9 @@ def loadTrackersFile(self):
trackers_file_path = trackers_file
elif trackers_file.startswith("{data_dir}"): # Relative to data_dir
trackers_file_path = trackers_file.replace("{data_dir}", self.data_dir)
elif trackers_file.startswith("data/"):
# Relative to data_dir Useful for Unix Type Systems and Android Clients
trackers_file_path = trackers_file.replace("data", self.data_dir)
else: # Relative to zeronet.py
trackers_file_path = self.start_dir + "/" + trackers_file

Expand Down Expand Up @@ -479,7 +485,7 @@ def setAttributes(self):
for key, val in args.items():
if type(val) is list:
val = val[:]
if key in ("data_dir", "log_dir"):
if key in ("data_dir", "log_dir", "openssl_path"):
val = val.replace("\\", "/")
setattr(self, key, val)

Expand Down Expand Up @@ -563,6 +569,7 @@ def getServerInfo(self):

"log_dir": os.path.abspath(self.log_dir),
"data_dir": os.path.abspath(self.data_dir),
"openssl_path": os.path.abspath(self.openssl_path),
"src_dir": os.path.dirname(os.path.abspath(__file__))
}

Expand Down
13 changes: 8 additions & 5 deletions src/Crypt/CryptConnection.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,15 @@

class CryptConnectionManager:
def __init__(self):
if sys.platform.startswith("win"):
self.openssl_bin = "tools\\openssl\\openssl.exe"
elif config.dist_type.startswith("bundle_linux"):
self.openssl_bin = "../runtime/bin/openssl"
if config.openssl_path != "default":
self.openssl_bin = config.openssl_path
else:
self.openssl_bin = "openssl"
if sys.platform.startswith("win"):
self.openssl_bin = "tools\\openssl\\openssl.exe"
elif config.dist_type.startswith("bundle_linux"):
self.openssl_bin = "../runtime/bin/openssl"
else:
self.openssl_bin = "openssl"

self.context_client = None
self.context_server = None
Expand Down

0 comments on commit c553c2b

Please sign in to comment.