mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-12-06 20:51:31 +00:00
implemented suppressResumeInfo mechanism (huge slowdown on large tables)
This commit is contained in:
@@ -35,6 +35,7 @@ from lib.core.enums import PAYLOAD
|
||||
from lib.core.exception import sqlmapConnectionException
|
||||
from lib.core.settings import FROM_TABLE
|
||||
from lib.core.settings import MYSQL_ERROR_CHUNK_LENGTH
|
||||
from lib.core.settings import TURN_OFF_RESUME_INFO_LIMIT
|
||||
from lib.core.threads import getCurrentThreadData
|
||||
from lib.core.unescaper import unescaper
|
||||
from lib.request.connect import Connect as Request
|
||||
@@ -301,6 +302,12 @@ def errorUse(expression, expected=None, resumeValue=True, dump=False):
|
||||
logger.info(infoMsg)
|
||||
|
||||
try:
|
||||
if stopLimit > TURN_OFF_RESUME_INFO_LIMIT:
|
||||
kb.suppressResumeInfo = True
|
||||
infoMsg = "suppressing resume console info because of "
|
||||
infoMsg += "large number of rows (possible slowdown)"
|
||||
logger.info(infoMsg)
|
||||
|
||||
for num in xrange(startLimit, stopLimit):
|
||||
output = __errorFields(expression, expressionFields, expressionFieldsList, expected, num, resumeValue)
|
||||
|
||||
@@ -320,6 +327,9 @@ def errorUse(expression, expected=None, resumeValue=True, dump=False):
|
||||
errMsg += "'%s'" % e
|
||||
logger.critical(errMsg)
|
||||
|
||||
finally:
|
||||
kb.suppressResumeInfo = False
|
||||
|
||||
if not outputs:
|
||||
outputs = __errorFields(expression, expressionFields, expressionFieldsList)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user