MCPcopy Index your code
hub / github.com/sqlmapproject/sqlmap / checkDependencies

Function checkDependencies

lib/utils/deps.py:13–154  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

11from lib.core.settings import IS_WIN
12
13def checkDependencies():
14 missing_libraries = set()
15
16 for dbmsName, data in DBMS_DICT.items():
17 if data[1] is None:
18 continue
19
20 try:
21 if dbmsName in (DBMS.MSSQL, DBMS.SYBASE):
22 __import__("_mssql")
23
24 pymssql = __import__("pymssql")
25 if not hasattr(pymssql, "__version__") or pymssql.__version__ < "1.0.2":
26 warnMsg = "'%s' third-party library must be " % data[1]
27 warnMsg += "version >= 1.0.2 to work properly. "
28 warnMsg += "Download from '%s'" % data[2]
29 logger.warning(warnMsg)
30 elif dbmsName == DBMS.MYSQL:
31 __import__("pymysql")
32 elif dbmsName in (DBMS.PGSQL, DBMS.CRATEDB):
33 __import__("psycopg2")
34 elif dbmsName == DBMS.ORACLE:
35 __import__("oracledb")
36 elif dbmsName == DBMS.SQLITE:
37 __import__("sqlite3")
38 elif dbmsName == DBMS.ACCESS:
39 __import__("pyodbc")
40 elif dbmsName == DBMS.FIREBIRD:
41 __import__("kinterbasdb")
42 elif dbmsName == DBMS.DB2:
43 __import__("ibm_db_dbi")
44 elif dbmsName in (DBMS.HSQLDB, DBMS.CACHE):
45 __import__("jaydebeapi")
46 __import__("jpype")
47 elif dbmsName == DBMS.INFORMIX:
48 __import__("ibm_db_dbi")
49 elif dbmsName == DBMS.MONETDB:
50 __import__("pymonetdb")
51 elif dbmsName == DBMS.DERBY:
52 __import__("drda")
53 elif dbmsName == DBMS.VERTICA:
54 __import__("vertica_python")
55 elif dbmsName == DBMS.PRESTO:
56 __import__("prestodb")
57 elif dbmsName == DBMS.MIMERSQL:
58 __import__("mimerpy")
59 elif dbmsName == DBMS.CUBRID:
60 __import__("CUBRIDdb")
61 elif dbmsName == DBMS.CLICKHOUSE:
62 __import__("clickhouse_connect")
63 except:
64 warnMsg = "sqlmap requires '%s' third-party library " % data[1]
65 warnMsg += "in order to directly connect to the DBMS "
66 warnMsg += "'%s'. Download from '%s'" % (dbmsName, data[2])
67 logger.warning(warnMsg)
68 missing_libraries.add(data[1])
69
70 continue

Callers 1

_checkDependenciesFunction · 0.90

Calls 4

itemsMethod · 0.80
debugMethod · 0.80
infoMethod · 0.80
addMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…