mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-30 13:33:49 +03:00
72 lines
1.9 KiB
Python
72 lines
1.9 KiB
Python
#!/usr/bin/env python
|
|
|
|
"""
|
|
$Id$
|
|
|
|
Copyright (c) 2006-2010 sqlmap developers (http://sqlmap.sourceforge.net/)
|
|
See the file 'doc/COPYING' for copying permission
|
|
"""
|
|
|
|
import sys
|
|
|
|
from lib.core.data import logger
|
|
from lib.core.settings import IS_WIN
|
|
from lib.core.settings import PLATFORM
|
|
|
|
try:
|
|
from readline import *
|
|
import readline as _rl
|
|
|
|
haveReadline = True
|
|
except ImportError:
|
|
try:
|
|
from pyreadline import *
|
|
import pyreadline as _rl
|
|
|
|
haveReadline = True
|
|
except ImportError:
|
|
haveReadline = False
|
|
|
|
if IS_WIN and haveReadline:
|
|
try:
|
|
_outputfile=_rl.GetOutputFile()
|
|
except AttributeError:
|
|
debugMsg = "Failed GetOutputFile when using platform's "
|
|
debugMsg += "readline library"
|
|
logger.debug(debugMsg)
|
|
|
|
haveReadline = False
|
|
|
|
# Test to see if libedit is being used instead of GNU readline.
|
|
# Thanks to Boyd Waters for this patch.
|
|
uses_libedit = False
|
|
|
|
if PLATFORM == 'mac' and haveReadline:
|
|
import commands
|
|
|
|
(status, result) = commands.getstatusoutput( "otool -L %s | grep libedit" % _rl.__file__ )
|
|
|
|
if status == 0 and len(result) > 0:
|
|
# We are bound to libedit - new in Leopard
|
|
_rl.parse_and_bind("bind ^I rl_complete")
|
|
|
|
debugMsg = "Leopard libedit detected when using platform's "
|
|
debugMsg += "readline library"
|
|
logger.debug(debugMsg)
|
|
|
|
uses_libedit = True
|
|
|
|
# the clear_history() function was only introduced in Python 2.4 and is
|
|
# actually optional in the readline API, so we must explicitly check for its
|
|
# existence. Some known platforms actually don't have it. This thread:
|
|
# http://mail.python.org/pipermail/python-dev/2003-August/037845.html
|
|
# has the original discussion.
|
|
if haveReadline:
|
|
try:
|
|
_rl.clear_history
|
|
except AttributeError:
|
|
def clear_history():
|
|
pass
|
|
|
|
_rl.clear_history = clear_history
|