2010-12-24 15:13:48 +03:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
"""
|
2011-01-31 14:41:28 +03:00
|
|
|
$Id$
|
2010-12-24 15:13:48 +03:00
|
|
|
|
2011-04-15 16:33:18 +04:00
|
|
|
Copyright (c) 2006-2011 sqlmap developers (http://sqlmap.sourceforge.net/)
|
2010-12-24 15:13:48 +03:00
|
|
|
See the file 'doc/COPYING' for copying permission
|
|
|
|
"""
|
|
|
|
|
2011-01-16 13:52:42 +03:00
|
|
|
import difflib
|
2010-12-24 15:13:48 +03:00
|
|
|
import threading
|
|
|
|
|
|
|
|
from lib.core.data import kb
|
|
|
|
|
|
|
|
class ThreadData():
|
|
|
|
"""
|
|
|
|
Represents thread independent data
|
|
|
|
"""
|
|
|
|
|
|
|
|
def __init__(self):
|
2011-01-16 13:52:42 +03:00
|
|
|
self.disableStdOut = False
|
|
|
|
self.lastErrorPage = None
|
|
|
|
self.lastHTTPError = None
|
2011-03-17 09:39:05 +03:00
|
|
|
self.lastRedirectMsg = None
|
2011-01-16 13:52:42 +03:00
|
|
|
self.lastQueryDuration = 0
|
|
|
|
self.lastRequestUID = 0
|
|
|
|
self.seqMatcher = difflib.SequenceMatcher(None)
|
|
|
|
self.valueStack = []
|
2010-12-24 15:13:48 +03:00
|
|
|
|
|
|
|
def getCurrentThreadUID():
|
|
|
|
return hash(threading.currentThread())
|
|
|
|
|
|
|
|
def getCurrentThreadData():
|
|
|
|
"""
|
|
|
|
Returns current thread's dependent data
|
|
|
|
"""
|
|
|
|
|
|
|
|
threadUID = getCurrentThreadUID()
|
|
|
|
if threadUID not in kb.threadData:
|
|
|
|
kb.threadData[threadUID] = ThreadData()
|
|
|
|
return kb.threadData[threadUID]
|