File tree Expand file tree Collapse file tree 8 files changed +18
-14
lines changed Expand file tree Collapse file tree 8 files changed +18
-14
lines changed Original file line number Diff line number Diff line change 11
11
import codecs
12
12
import contextlib
13
13
import copy
14
- import distutils .version
15
14
import functools
16
15
import getpass
17
16
import hashlib
47
46
from extra .cloak .cloak import decloak
48
47
from lib .core .bigarray import BigArray
49
48
from lib .core .compat import cmp
49
+ from lib .core .compat import LooseVersion
50
50
from lib .core .compat import round
51
51
from lib .core .compat import xrange
52
52
from lib .core .convert import base64pickle
@@ -591,7 +591,7 @@ def isVersionGreaterOrEqualThan(version):
591
591
592
592
if Backend .getVersion () is not None and version is not None :
593
593
try :
594
- retVal = distutils . version . LooseVersion (Backend .getVersion ()) >= distutils . version . LooseVersion (version )
594
+ retVal = LooseVersion (Backend .getVersion ()) >= LooseVersion (version )
595
595
except :
596
596
retVal = str (Backend .getVersion ()) >= str (version )
597
597
Original file line number Diff line number Diff line change @@ -257,3 +257,8 @@ def __hash__(self):
257
257
else :
258
258
xrange = xrange
259
259
buffer = buffer
260
+
261
+ try :
262
+ from pkg_resources import parse_version as LooseVersion
263
+ except ImportError :
264
+ from distutils .version import LooseVersion
Original file line number Diff line number Diff line change 20
20
from thirdparty .six import unichr as _unichr
21
21
22
22
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
23
- VERSION = "1.5.10.5 "
23
+ VERSION = "1.5.10.6 "
24
24
TYPE = "dev" if VERSION .count ('.' ) > 2 and VERSION .split ('.' )[- 1 ] != '0' else "stable"
25
25
TYPE_COLORS = {"dev" : 33 , "stable" : 90 , "pip" : 34 }
26
26
VERSION_STRING = "sqlmap/%s#%s" % ('.' .join (VERSION .split ('.' )[:- 1 ]) if VERSION .count ('.' ) > 2 and VERSION .split ('.' )[- 1 ] == '0' else VERSION , TYPE )
Original file line number Diff line number Diff line change 24
24
from lib .core .common import randomStr
25
25
from lib .core .common import shellExec
26
26
from lib .core .compat import round
27
- from lib .core .compat import xrange
28
27
from lib .core .convert import encodeBase64
29
28
from lib .core .data import kb
30
29
from lib .core .data import logger
Original file line number Diff line number Diff line change 5
5
See the file 'LICENSE' for copying permission
6
6
"""
7
7
8
- import distutils .version
9
8
import re
10
9
import socket
11
10
12
11
from lib .core .common import filterNone
13
12
from lib .core .common import getSafeExString
13
+ from lib .core .compat import LooseVersion
14
14
from lib .core .compat import xrange
15
15
from lib .core .data import conf
16
16
from lib .core .data import kb
@@ -109,7 +109,7 @@ def create_sock():
109
109
if not success :
110
110
errMsg = "can't establish SSL connection"
111
111
# Reference: https://docs.python.org/2/library/ssl.html
112
- if distutils . version . LooseVersion (PYVERSION ) < distutils . version . LooseVersion ("2.7.9" ):
112
+ if LooseVersion (PYVERSION ) < LooseVersion ("2.7.9" ):
113
113
errMsg += " (please retry with Python >= 2.7.9)"
114
114
115
115
if kb .sslSuccess and not self .retrying :
Original file line number Diff line number Diff line change 5
5
See the file 'LICENSE' for copying permission
6
6
"""
7
7
8
- import distutils .version
9
8
import os
10
9
11
10
from lib .core .agent import agent
17
16
from lib .core .common import ntToPosixSlashes
18
17
from lib .core .common import randomStr
19
18
from lib .core .common import unArrayizeValue
19
+ from lib .core .compat import LooseVersion
20
20
from lib .core .data import kb
21
21
from lib .core .data import logger
22
22
from lib .core .data import paths
@@ -38,13 +38,13 @@ def udfSetRemotePath(self):
38
38
39
39
banVer = kb .bannerFp ["dbmsVersion" ]
40
40
41
- if banVer and distutils . version . LooseVersion (banVer ) >= distutils . version . LooseVersion ("5.0.67" ):
41
+ if banVer and LooseVersion (banVer ) >= LooseVersion ("5.0.67" ):
42
42
if self .__plugindir is None :
43
43
logger .info ("retrieving MySQL plugin directory absolute path" )
44
44
self .__plugindir = unArrayizeValue (inject .getValue ("SELECT @@plugin_dir" ))
45
45
46
46
# On MySQL 5.1 >= 5.1.19 and on any version of MySQL 6.0
47
- if self .__plugindir is None and distutils . version . LooseVersion (banVer ) >= distutils . version . LooseVersion ("5.1.19" ):
47
+ if self .__plugindir is None and LooseVersion (banVer ) >= LooseVersion ("5.1.19" ):
48
48
logger .info ("retrieving MySQL base directory absolute path" )
49
49
50
50
# Reference: http://dev.mysql.com/doc/refman/5.1/en/server-options.html#option_mysqld_basedir
Original file line number Diff line number Diff line change 5
5
See the file 'LICENSE' for copying permission
6
6
"""
7
7
8
- import distutils .version
9
8
import os
10
9
11
10
from lib .core .common import Backend
17
16
from lib .core .common import isNoneValue
18
17
from lib .core .common import isStackingAvailable
19
18
from lib .core .common import randomStr
19
+ from lib .core .compat import LooseVersion
20
20
from lib .core .data import kb
21
21
from lib .core .data import logger
22
22
from lib .core .data import paths
@@ -54,9 +54,9 @@ def udfSetLocalPaths(self):
54
54
if not banVer or not banVer [0 ].isdigit ():
55
55
errMsg = "unsupported feature on unknown version of PostgreSQL"
56
56
raise SqlmapUnsupportedFeatureException (errMsg )
57
- elif distutils . version . LooseVersion (banVer ) >= distutils . version . LooseVersion ("10" ):
57
+ elif LooseVersion (banVer ) >= LooseVersion ("10" ):
58
58
majorVer = banVer .split ('.' )[0 ]
59
- elif distutils . version . LooseVersion (banVer ) >= distutils . version . LooseVersion ("8.2" ) and '.' in banVer :
59
+ elif LooseVersion (banVer ) >= LooseVersion ("8.2" ) and '.' in banVer :
60
60
majorVer = '.' .join (banVer .split ('.' )[:2 ])
61
61
else :
62
62
errMsg = "unsupported feature on versions of PostgreSQL before 8.2"
Original file line number Diff line number Diff line change 18
18
sys .exit ("[!] wrong installation detected (missing modules). Visit 'https://github.com/sqlmapproject/sqlmap/#installation' for further details" )
19
19
20
20
import bdb
21
- import distutils
22
21
import glob
23
22
import inspect
24
23
import json
64
63
from lib .core .common import MKSTEMP_PREFIX
65
64
from lib .core .common import setColor
66
65
from lib .core .common import unhandledExceptionMessage
66
+ from lib .core .compat import LooseVersion
67
67
from lib .core .compat import xrange
68
68
from lib .core .exception import SqlmapBaseException
69
69
from lib .core .exception import SqlmapShellQuitException
@@ -114,7 +114,7 @@ def checkEnvironment():
114
114
logger .critical (errMsg )
115
115
raise SystemExit
116
116
117
- if distutils . version . LooseVersion (VERSION ) < distutils . version . LooseVersion ("1.0" ):
117
+ if LooseVersion (VERSION ) < LooseVersion ("1.0" ):
118
118
errMsg = "your runtime environment (e.g. PYTHONPATH) is "
119
119
errMsg += "broken. Please make sure that you are not running "
120
120
errMsg += "newer versions of sqlmap with runtime scripts for older "
You can’t perform that action at this time.
0 commit comments