mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-06-08 15:13:16 +03:00
making nice code
This commit is contained in:
parent
b0a8238774
commit
11d9859199
|
@ -50,54 +50,40 @@ def setHandler():
|
||||||
management system.
|
management system.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
count = 0
|
dbmses = (
|
||||||
dbmsNames = ( "MySQL", "Oracle", "PostgreSQL", "Microsoft SQL Server", "SQLite", "Microsoft Access", "Firebird", "SAP MaxDB", "Sybase", "IBM DB2" )
|
("MySQL", MYSQL_ALIASES, MySQLMap, MySQLConn),
|
||||||
dbmsObj = [
|
("Oracle", ORACLE_ALIASES, OracleMap, OracleConn),
|
||||||
( MYSQL_ALIASES, MySQLMap, MySQLConn ),
|
("PostgreSQL", PGSQL_ALIASES, PostgreSQLMap, PostgreSQLConn),
|
||||||
( ORACLE_ALIASES, OracleMap, OracleConn ),
|
("Microsoft SQL Server", MSSQL_ALIASES, MSSQLServerMap, MSSQLServerConn),
|
||||||
( PGSQL_ALIASES, PostgreSQLMap, PostgreSQLConn ),
|
("SQLite", SQLITE_ALIASES, SQLiteMap, SQLiteConn),
|
||||||
( MSSQL_ALIASES, MSSQLServerMap, MSSQLServerConn ),
|
("Microsoft Access", ACCESS_ALIASES, AccessMap, AccessConn),
|
||||||
( SQLITE_ALIASES, SQLiteMap, SQLiteConn ),
|
("Firebird", FIREBIRD_ALIASES, FirebirdMap, FirebirdConn),
|
||||||
( ACCESS_ALIASES, AccessMap, AccessConn ),
|
("SAP MaxDB", MAXDB_ALIASES, MaxDBMap, MaxDBConn),
|
||||||
( FIREBIRD_ALIASES, FirebirdMap, FirebirdConn ),
|
("Sybase", SYBASE_ALIASES, SybaseMap, SybaseConn),
|
||||||
( MAXDB_ALIASES, MaxDBMap, MaxDBConn ),
|
("IBM DB2", DB2_ALIASES, DB2Map, DB2Conn)
|
||||||
( SYBASE_ALIASES, SybaseMap, SybaseConn ),
|
)
|
||||||
( DB2_ALIASES, DB2Map, DB2Conn )
|
|
||||||
]
|
|
||||||
|
|
||||||
if Backend.getIdentifiedDbms() is not None:
|
_ = max(_ if Backend.getIdentifiedDbms() in _[1] else None for _ in dbmses)
|
||||||
for i in xrange(len(dbmsObj)):
|
if _:
|
||||||
dbmsAliases, _, _ = dbmsObj[i]
|
dbmses.remove(_)
|
||||||
|
dbmses.insert(0, _)
|
||||||
|
|
||||||
if Backend.getIdentifiedDbms().lower() in dbmsAliases:
|
for name, aliases, Handler, Connector in dbmses:
|
||||||
if i > 0:
|
if conf.dbms and conf.dbms not in aliases:
|
||||||
pushValue(dbmsObj[i])
|
debugMsg = "skipping test for %s" % name
|
||||||
dbmsObj.remove(dbmsObj[i])
|
|
||||||
dbmsObj.insert(0, popValue())
|
|
||||||
|
|
||||||
break
|
|
||||||
|
|
||||||
for dbmsAliases, dbmsMap, dbmsConn in dbmsObj:
|
|
||||||
if conf.dbms and conf.dbms not in dbmsAliases:
|
|
||||||
debugMsg = "skipping test for %s" % dbmsNames[count]
|
|
||||||
logger.debug(debugMsg)
|
logger.debug(debugMsg)
|
||||||
|
|
||||||
count += 1
|
|
||||||
|
|
||||||
continue
|
continue
|
||||||
|
|
||||||
handler = dbmsMap()
|
handler = Handler()
|
||||||
conf.dbmsConnector = dbmsConn()
|
conf.dbmsConnector = Connector()
|
||||||
|
|
||||||
if conf.direct:
|
if conf.direct:
|
||||||
logger.debug("forcing timeout to 10 seconds")
|
logger.debug("forcing timeout to 10 seconds")
|
||||||
conf.timeout = 10
|
conf.timeout = 10
|
||||||
|
|
||||||
conf.dbmsConnector.connect()
|
conf.dbmsConnector.connect()
|
||||||
|
|
||||||
if handler.checkDbms():
|
if handler.checkDbms():
|
||||||
conf.dbmsHandler = handler
|
conf.dbmsHandler = handler
|
||||||
|
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
conf.dbmsConnector = None
|
conf.dbmsConnector = None
|
||||||
|
|
Loading…
Reference in New Issue
Block a user