diff --git a/lib/core/revision.py b/lib/core/revision.py index 063761875..6aa3eca6c 100644 --- a/lib/core/revision.py +++ b/lib/core/revision.py @@ -10,6 +10,7 @@ import re import subprocess from lib.core.common import getText +from lib.core.common import openFile def getRevisionNumber(): """ @@ -36,7 +37,7 @@ def getRevisionNumber(): while True: if filePath and os.path.isfile(filePath): - with open(filePath, "r") as f: + with openFile(filePath, "r") as f: content = f.read() filePath = None if content.startswith("ref: "): diff --git a/lib/core/settings.py b/lib/core/settings.py index 77af8c08d..ace753947 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -18,7 +18,7 @@ from lib.core.enums import OS from thirdparty import six # sqlmap version (...) -VERSION = "1.3.5.81" +VERSION = "1.3.5.82" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE) diff --git a/lib/core/update.py b/lib/core/update.py index 8cbaf37d6..1035a6800 100644 --- a/lib/core/update.py +++ b/lib/core/update.py @@ -18,6 +18,7 @@ from lib.core.common import dataToStdout from lib.core.common import getSafeExString from lib.core.common import getLatestRevision from lib.core.common import getText +from lib.core.common import openFile from lib.core.common import pollProcess from lib.core.common import readInput from lib.core.data import conf @@ -82,7 +83,7 @@ def update(): filepath = os.path.join(paths.SQLMAP_ROOT_PATH, "lib", "core", "settings.py") if os.path.isfile(filepath): - with open(filepath, "rb") as f: + with openFile(filepath, "rb") as f: version = re.search(r"(?m)^VERSION\s*=\s*['\"]([^'\"]+)", f.read()).group(1) logger.info("updated to the latest version '%s#dev'" % version) success = True diff --git a/lib/utils/api.py b/lib/utils/api.py index eabdcec33..acdb32b85 100644 --- a/lib/utils/api.py +++ b/lib/utils/api.py @@ -21,6 +21,7 @@ import time from lib.core.common import dataToStdout from lib.core.common import getSafeExString +from lib.core.common import openFile from lib.core.common import saveConfig from lib.core.common import unArrayizeValue from lib.core.compat import xrange @@ -648,9 +649,8 @@ def download(taskid, target, filename): if os.path.isfile(path): logger.debug("(%s) Retrieved content of file %s" % (taskid, target)) - with open(path, 'rb') as inf: - file_content = inf.read() - return jsonize({"success": True, "file": encodeBase64(file_content, binary=False)}) + content = openFile(path, "rb").read() + return jsonize({"success": True, "file": encodeBase64(content, binary=False)}) else: logger.warning("[%s] File does not exist %s" % (taskid, target)) return jsonize({"success": False, "message": "File does not exist"}) diff --git a/lib/utils/hash.py b/lib/utils/hash.py index 0a5b4dbe4..028aa58d4 100644 --- a/lib/utils/hash.py +++ b/lib/utils/hash.py @@ -56,6 +56,7 @@ from lib.core.common import getSafeExString from lib.core.common import hashDBRetrieve from lib.core.common import hashDBWrite from lib.core.common import normalizeUnicode +from lib.core.common import openFile from lib.core.common import paths from lib.core.common import readInput from lib.core.common import singleTimeLogMessage @@ -597,7 +598,7 @@ def storeHashesToFile(attack_dict): infoMsg = "writing hashes to a temporary file '%s' " % filename logger.info(infoMsg) - with open(filename, "w+") as f: + with openFile(filename, "w+") as f: for item in items: f.write(item)