mirror of
				https://github.com/sqlmapproject/sqlmap.git
				synced 2025-11-04 01:47:37 +03:00 
			
		
		
		
	Fix for an Issue #513
This commit is contained in:
		
							parent
							
								
									7cb3ea20dd
								
							
						
					
					
						commit
						28eca2116f
					
				| 
						 | 
				
			
			@ -3365,6 +3365,27 @@ def checkDeprecatedOptions(args):
 | 
			
		|||
                errMsg += " (hint: %s)" % DEPRECATED_OPTIONS[_]
 | 
			
		||||
            raise SqlmapSyntaxException(errMsg)
 | 
			
		||||
 | 
			
		||||
def checkSystemEncoding():
 | 
			
		||||
    """
 | 
			
		||||
    Checks for problematic encodings
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    if sys.getdefaultencoding() == "cp720":
 | 
			
		||||
        try:
 | 
			
		||||
            codecs.lookup("cp720")
 | 
			
		||||
        except LookupError:
 | 
			
		||||
            errMsg = "there is a known Python issue (#1616979) related "
 | 
			
		||||
            errMsg += "to support for charset 'cp720'. Please visit "
 | 
			
		||||
            errMsg += "'http://blog.oneortheother.info/tip/python-fix-cp720-encoding/index.html' "
 | 
			
		||||
            errMsg += "and follow the instructions to be able to fix it"
 | 
			
		||||
            logger.critical(errMsg)
 | 
			
		||||
 | 
			
		||||
            warnMsg = "temporary switching to charset 'cp1256'"
 | 
			
		||||
            logger.warn(warnMsg)
 | 
			
		||||
 | 
			
		||||
            reload(sys)
 | 
			
		||||
            sys.setdefaultencoding("cp1256")
 | 
			
		||||
 | 
			
		||||
def evaluateCode(code, variables=None):
 | 
			
		||||
    """
 | 
			
		||||
    Executes given python code given in a string form
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@ Copyright (c) 2006-2013 sqlmap developers (http://sqlmap.org/)
 | 
			
		|||
See the file 'doc/COPYING' for copying permission
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
import codecs
 | 
			
		||||
import sys
 | 
			
		||||
 | 
			
		||||
from optparse import OptionError
 | 
			
		||||
| 
						 | 
				
			
			@ -13,6 +14,7 @@ from optparse import OptionParser
 | 
			
		|||
from optparse import SUPPRESS_HELP
 | 
			
		||||
 | 
			
		||||
from lib.core.common import checkDeprecatedOptions
 | 
			
		||||
from lib.core.common import checkSystemEncoding
 | 
			
		||||
from lib.core.common import expandMnemonics
 | 
			
		||||
from lib.core.common import getUnicode
 | 
			
		||||
from lib.core.data import logger
 | 
			
		||||
| 
						 | 
				
			
			@ -28,6 +30,8 @@ def cmdLineParser():
 | 
			
		|||
    This function parses the command line parameters and arguments
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    checkSystemEncoding()
 | 
			
		||||
 | 
			
		||||
    usage = "%s%s [options]" % ("python " if not IS_WIN else "", \
 | 
			
		||||
            "\"%s\"" % sys.argv[0] if " " in sys.argv[0] else sys.argv[0])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user