diff --git a/lib/core/compat.py b/lib/core/compat.py index d841f372f..851e57eb8 100644 --- a/lib/core/compat.py +++ b/lib/core/compat.py @@ -9,7 +9,6 @@ from __future__ import division import binascii import functools -import inspect import math import os import random @@ -313,22 +312,3 @@ def LooseVersion(version): result = float("NaN") return result - -# Reference: https://github.com/bottlepy/bottle/blob/df67999584a0e51ec5b691146c7fa4f3c87f5aac/bottle.py -if not hasattr(inspect, "getargspec") and hasattr(inspect, "getfullargspec"): - from inspect import getfullargspec - - def makelist(data): - if isinstance(data, (tuple, list, set, dict)): - return list(data) - elif data: - return [data] - else: - return [] - - def getargspec(func): - spec = getfullargspec(func) - kwargs = makelist(spec[0]) + makelist(spec.kwonlyargs) - return kwargs, spec[1], spec[2], spec[3] - - inspect.getargspec = getargspec diff --git a/lib/core/patch.py b/lib/core/patch.py index 186814325..0fe06751b 100644 --- a/lib/core/patch.py +++ b/lib/core/patch.py @@ -6,6 +6,7 @@ See the file 'LICENSE' for copying permission """ import codecs +import inspect import os import random import re @@ -93,6 +94,25 @@ def dirtyPatches(): else: os.urandom = lambda size: "".join(chr(random.randint(0, 255)) for _ in xrange(size)) + # Reference: https://github.com/bottlepy/bottle/blob/df67999584a0e51ec5b691146c7fa4f3c87f5aac/bottle.py + if not hasattr(inspect, "getargspec") and hasattr(inspect, "getfullargspec"): + from inspect import getfullargspec + + def makelist(data): + if isinstance(data, (tuple, list, set, dict)): + return list(data) + elif data: + return [data] + else: + return [] + + def getargspec(func): + spec = getfullargspec(func) + kwargs = makelist(spec[0]) + makelist(spec.kwonlyargs) + return kwargs, spec[1], spec[2], spec[3] + + inspect.getargspec = getargspec + def resolveCrossReferences(): """ Place for cross-reference resolution diff --git a/lib/core/settings.py b/lib/core/settings.py index caa8b1e41..ff2e6b39d 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.4.1" +VERSION = "1.7.4.2" 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/sqlmap.py b/sqlmap.py index be312f97f..edad7efa7 100755 --- a/sqlmap.py +++ b/sqlmap.py @@ -548,7 +548,7 @@ def main(): finally: kb.threadContinue = False - if getDaysFromLastUpdate() > LAST_UPDATE_NAGGING_DAYS: + if (getDaysFromLastUpdate() or 0) > LAST_UPDATE_NAGGING_DAYS: warnMsg = "your sqlmap version is outdated" logger.warning(warnMsg)