From f48c94daa72ab3ac4fae92bb9bf235ce9e3d4c0b Mon Sep 17 00:00:00 2001 From: Thomas Queiroz Date: Sun, 10 May 2020 03:34:46 -0300 Subject: [PATCH] SQLMAP_HOME_PATH changed to be compliant with the XDG Base Directory Specification --- lib/core/common.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/core/common.py b/lib/core/common.py index c8222d28b..bc8145203 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -1454,7 +1454,20 @@ def setPaths(rootPath): else: paths.SQLMAP_HOME_PATH = os.path.join(os.path.expandvars(os.path.expanduser("~")), "sqlmap") else: - paths.SQLMAP_HOME_PATH = os.path.join(os.path.expandvars(os.path.expanduser("~")), ".sqlmap") + homeDir = os.path.expanduser("~") + oldDir = os.path.join(homeDir, ".sqlmap") + if os.path.exists(oldDir): + homePath = oldDir + else: + if "XDG_DATA_HOME" in os.environ: + homePath = os.path.join(os.environ["XDG_DATA_HOME"], "sqlmap") + else: + homePath = os.path.join(homeDir, ".local/share/sqlmap") + + if not os.path.exists(homePath): + os.makedirs(homePath) + + paths.SQLMAP_HOME_PATH = homePath paths.SQLMAP_OUTPUT_PATH = getUnicode(paths.get("SQLMAP_OUTPUT_PATH", os.path.join(paths.SQLMAP_HOME_PATH, "output")), encoding=sys.getfilesystemencoding() or UNICODE_ENCODING) paths.SQLMAP_DUMP_PATH = os.path.join(paths.SQLMAP_OUTPUT_PATH, "%s", "dump")