From b3b4459c72cc56855690e75fb289fa6221164067 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 26 Sep 2011 13:01:43 +0000 Subject: [PATCH] minor fix --- lib/core/target.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/core/target.py b/lib/core/target.py index 4a454c7b2..9814cea74 100644 --- a/lib/core/target.py +++ b/lib/core/target.py @@ -167,6 +167,24 @@ def __setRequestParams(): errMsg += "within the GET, POST and Cookie parameters" raise sqlmapGenericException, errMsg +def __setHashDB(): + """ + Check and set the HashDB SQLite file for query resume functionality. + """ + if not conf.hashDBFile: + conf.hashDBFile = "%s%shashdb" % (conf.outputPath, os.sep) + + if os.path.exists(conf.hashDBFile): + if conf.flushSession: + try: + os.remove(conf.hashDBFile) + logger.info("flushing query storage file") + except OSError, msg: + errMsg = "unable to flush the hashdb file (%s)" % msg + raise sqlmapFilePathException, errMsg + + conf.hashDB = HashDB(conf.hashDBFile) + def __setOutputResume(): """ Check and set the output text file and the resume functionality. @@ -175,9 +193,6 @@ def __setOutputResume(): if not conf.sessionFile: conf.sessionFile = "%s%ssession" % (conf.outputPath, os.sep) - if not conf.hashDBFile: - conf.hashDBFile = "%s%shashdb" % (conf.outputPath, os.sep) - logger.info("using '%s' as session file" % conf.sessionFile) if os.path.exists(conf.sessionFile): @@ -227,7 +242,6 @@ def __setOutputResume(): else: try: os.remove(conf.sessionFile) - os.remove(conf.hashDBFile) logger.info("flushing session file") except OSError, msg: errMsg = "unable to flush the session file (%s)" % msg @@ -235,7 +249,6 @@ def __setOutputResume(): try: conf.sessionFP = codecs.open(conf.sessionFile, "a", UNICODE_ENCODING) - conf.hashDB = HashDB(conf.hashDBFile) dataToSessionFile("\n[%s]\n" % time.strftime("%X %x")) except IOError: errMsg = "unable to write on the session file specified" @@ -363,4 +376,5 @@ def setupTargetEnv(): __createTargetDirs() __setRequestParams() __setOutputResume() + __setHashDB() __setResultsFile()