diff --git a/lib/core/settings.py b/lib/core/settings.py index 68921db82..020ec42ea 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -19,7 +19,7 @@ from lib.core.enums import DBMS_DIRECTORY_NAME from lib.core.enums import OS # sqlmap version (...) -VERSION = "1.0.10.42" +VERSION = "1.0.10.43" 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/threads.py b/lib/core/threads.py index c8c6f8bf2..f3f4ce221 100644 --- a/lib/core/threads.py +++ b/lib/core/threads.py @@ -20,6 +20,7 @@ from lib.core.datatype import AttribDict from lib.core.enums import PAYLOAD from lib.core.exception import SqlmapConnectionException from lib.core.exception import SqlmapThreadException +from lib.core.exception import SqlmapUserQuitException from lib.core.exception import SqlmapValueException from lib.core.settings import MAX_NUMBER_OF_THREADS from lib.core.settings import PYVERSION @@ -166,13 +167,13 @@ def runThreads(numThreads, threadFunction, cleanupFunction=None, forwardExceptio alive = True time.sleep(0.1) - except KeyboardInterrupt: + except (KeyboardInterrupt, SqlmapUserQuitException), ex: print kb.threadContinue = False kb.threadException = True if numThreads > 1: - logger.info("waiting for threads to finish (Ctrl+C was pressed)") + logger.info("waiting for threads to finish%s" % (" (Ctrl+C was pressed)" if isinstance(ex, KeyboardInterrupt) else "")) try: while (threading.activeCount() > 1): pass diff --git a/txt/checksum.md5 b/txt/checksum.md5 index d2b1cc113..16e7609b5 100644 --- a/txt/checksum.md5 +++ b/txt/checksum.md5 @@ -45,12 +45,12 @@ e60456db5380840a586654344003d4e6 lib/core/readlineng.py 5ef56abb8671c2ca6ceecb208258e360 lib/core/replication.py 99a2b496b9d5b546b335653ca801153f lib/core/revision.py 7c15dd2777af4dac2c89cab6df17462e lib/core/session.py -49b872986ac8a016a5ec7e378eaac419 lib/core/settings.py +469c00ca02a5d91ca058cfc54cfa7e94 lib/core/settings.py 7af83e4f18cab6dff5e67840eb65be80 lib/core/shell.py 23657cd7d924e3c6d225719865855827 lib/core/subprocessng.py c3ace7874a536d801f308cf1fd03df99 lib/core/target.py d43f059747ffd48952922c94152e2a07 lib/core/testing.py -2cafee22d9f8018e7efff0a5e3178596 lib/core/threads.py +95997f8d0b23fed9289b04b85d0e9b64 lib/core/threads.py 53c15b78e0288274f52410db25406432 lib/core/unescaper.py 60100cb265ae8bb903b760c7b7a3a7f3 lib/core/update.py 8485a3cd94c0a5af2718bad60c5f1ae5 lib/core/wordlist.py