mirror of
https://github.com/unode/firefox_decrypt.git
synced 2025-12-16 12:01:52 +01:00
ENH Educated guess of NSS loading based on bitness
If Python's bitness doesn't match that of the NSS.dll found, loading will fail. This restricts directories on a 64bit Windows system. A better solution would check the bitness of the lib as well - refs #41
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
- Using `--pass-prefix=''` prevents creation of a prefix: `web/address/...` becomes `address/...`
|
||||
- Fix an encoding bug due to non-ASCII characters leading to a user's profile path
|
||||
- Drop support for Python 2 on Windows. Python 3 works fine.
|
||||
- Explicitly target 32/64bit Mozilla folders depending on Python bitness
|
||||
|
||||
##### 0.7.0
|
||||
- Fix PK11 slot memory leak
|
||||
|
||||
@@ -54,6 +54,7 @@ except ImportError:
|
||||
PY3 = sys.version_info.major > 2
|
||||
LOG = None
|
||||
VERBOSE = False
|
||||
SYS64 = sys.maxsize > 2**32
|
||||
|
||||
if not PY3 and os.name == "nt":
|
||||
sys.stderr.write("WARNING: You are using Python 2 on Windows. If your "
|
||||
@@ -342,11 +343,22 @@ class NSSDecoder(object):
|
||||
"""
|
||||
if os.name == "nt":
|
||||
nssname = "nss3.dll"
|
||||
if SYS64:
|
||||
locations = (
|
||||
"", # Current directory or system lib finder
|
||||
r"C:\Program Files\Mozilla Firefox",
|
||||
r"C:\Program Files\Mozilla Thunderbird",
|
||||
r"C:\Program Files\Nightly",
|
||||
)
|
||||
else:
|
||||
locations = (
|
||||
"", # Current directory or system lib finder
|
||||
r"C:\Program Files (x86)\Mozilla Firefox",
|
||||
r"C:\Program Files\Mozilla Firefox",
|
||||
r"C:\Program Files (x86)\Mozilla Thunderbird",
|
||||
r"C:\Program Files (x86)\Nightly",
|
||||
# On windows 32bit these folders can also be 32bit
|
||||
r"C:\Program Files\Mozilla Firefox",
|
||||
r"C:\Program Files\Mozilla Thunderbird",
|
||||
r"C:\Program Files\Nightly",
|
||||
)
|
||||
|
||||
@@ -371,13 +383,27 @@ class NSSDecoder(object):
|
||||
|
||||
else:
|
||||
nssname = "libnss3.so"
|
||||
if SYS64:
|
||||
locations = (
|
||||
"", # Current directory or system lib finder
|
||||
"/usr/lib64",
|
||||
"/usr/lib64/nss",
|
||||
"/usr/lib",
|
||||
"/usr/lib/nss",
|
||||
"/usr/local/lib",
|
||||
"/usr/local/lib/nss",
|
||||
"/opt/local/lib",
|
||||
"/opt/local/lib/nss",
|
||||
os.path.expanduser("~/.nix-profile/lib"),
|
||||
)
|
||||
else:
|
||||
locations = (
|
||||
"", # Current directory or system lib finder
|
||||
"/usr/lib",
|
||||
"/usr/lib32",
|
||||
"/usr/lib64",
|
||||
"/usr/lib/nss",
|
||||
"/usr/lib32",
|
||||
"/usr/lib32/nss",
|
||||
"/usr/lib64",
|
||||
"/usr/lib64/nss",
|
||||
"/usr/local/lib",
|
||||
"/usr/local/lib/nss",
|
||||
|
||||
Reference in New Issue
Block a user