Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c938d77

Browse files
committed
Fixes #3781
1 parent 580dc2a commit c938d77

2 files changed

Lines changed: 24 additions & 18 deletions

File tree

lib/core/common.py

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3129,6 +3129,9 @@ def isDBMSVersionAtLeast(minimum):
31293129
False
31303130
>>> isDBMSVersionAtLeast("1.5")
31313131
True
3132+
>>> kb.dbmsVersion = "MySQL 5.4.3-log4"
3133+
>>> isDBMSVersionAtLeast("5")
3134+
True
31323135
>>> kb.dbmsVersion = popValue()
31333136
"""
31343137

@@ -3137,11 +3140,6 @@ def isDBMSVersionAtLeast(minimum):
31373140
if not any(isNoneValue(_) for _ in (Backend.getVersion(), minimum)) and Backend.getVersion() != UNKNOWN_DBMS_VERSION:
31383141
version = Backend.getVersion().replace(" ", "").rstrip('.')
31393142

3140-
if '.' in version:
3141-
parts = version.split('.', 1)
3142-
parts[1] = filterStringValue(parts[1], '[0-9]')
3143-
version = '.'.join(parts)
3144-
31453143
correction = 0.0
31463144
if ">=" in version:
31473145
pass
@@ -3150,23 +3148,31 @@ def isDBMSVersionAtLeast(minimum):
31503148
elif '<' in version:
31513149
correction = -VERSION_COMPARISON_CORRECTION
31523150

3153-
version = float(filterStringValue(version, '[0-9.]')) + correction
3151+
version = extractRegexResult(r"(?P<result>[0-9][0-9.]*)", version)
31543152

3155-
if isinstance(minimum, six.string_types):
3156-
if '.' in minimum:
3157-
parts = minimum.split('.', 1)
3153+
if version:
3154+
if '.' in version:
3155+
parts = version.split('.', 1)
31583156
parts[1] = filterStringValue(parts[1], '[0-9]')
3159-
minimum = '.'.join(parts)
3157+
version = '.'.join(parts)
31603158

3161-
correction = 0.0
3162-
if minimum.startswith(">="):
3163-
pass
3164-
elif minimum.startswith(">"):
3165-
correction = VERSION_COMPARISON_CORRECTION
3159+
version = float(filterStringValue(version, '[0-9.]')) + correction
3160+
3161+
if isinstance(minimum, six.string_types):
3162+
if '.' in minimum:
3163+
parts = minimum.split('.', 1)
3164+
parts[1] = filterStringValue(parts[1], '[0-9]')
3165+
minimum = '.'.join(parts)
3166+
3167+
correction = 0.0
3168+
if minimum.startswith(">="):
3169+
pass
3170+
elif minimum.startswith(">"):
3171+
correction = VERSION_COMPARISON_CORRECTION
31663172

3167-
minimum = float(filterStringValue(minimum, '[0-9.]')) + correction
3173+
minimum = float(filterStringValue(minimum, '[0-9.]')) + correction
31683174

3169-
retVal = version >= minimum
3175+
retVal = version >= minimum
31703176

31713177
return retVal
31723178

lib/core/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from thirdparty.six import unichr as _unichr
1919

2020
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
21-
VERSION = "1.3.6.55"
21+
VERSION = "1.3.6.56"
2222
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
2323
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
2424
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)

0 commit comments

Comments
 (0)