Just in case update

This commit is contained in:
Miroslav Stampar 2016-01-11 00:34:03 +01:00
parent 7e78554e97
commit a0b67418c7
2 changed files with 6 additions and 1 deletions

View File

@ -1028,7 +1028,7 @@ def _setSocketPreConnect():
return
def _():
while kb.threadContinue:
while kb.threadContinue and not conf.disablePrecon:
try:
for key in socket._ready:
if len(socket._ready[key]) < SOCKET_PRE_CONNECT_QUEUE_SIZE:
@ -1046,6 +1046,7 @@ def _setSocketPreConnect():
def connect(self, address):
found = False
key = (self.family, self.type, self.proto, address)
with kb.locks.socket:
if key not in socket._ready:
@ -1053,6 +1054,7 @@ def _setSocketPreConnect():
if len(socket._ready[key]) > 0:
self._sock = socket._ready[key].pop(0)
found = True
if not found:
self._connect(address)

View File

@ -614,6 +614,9 @@ class Connect(object):
elif "forcibly closed" in tbMsg or "Connection is already closed" in tbMsg:
warnMsg = "connection was forcibly closed by the target URL"
elif "timed out" in tbMsg:
singleTimeWarnMessage("turning off pre-connect mechanism because of connection time out(s)")
conf.disablePrecon = True
if kb.testMode and kb.testType not in (None, PAYLOAD.TECHNIQUE.TIME, PAYLOAD.TECHNIQUE.STACKED):
singleTimeWarnMessage("there is a possibility that the target (or WAF) is dropping 'suspicious' requests")
warnMsg = "connection timed out to the target URL"