1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-07 13:11:28 +00:00

Prevent PyXML from importing, causing crashes

http://seclists.org/nmap-dev/2014/q2/318

Essentially, we import the xml name, then override its search path,
stripping out the _xmlplus paths that PyXML uses. This leaves only the
Python 2 standard library path, which is what Zenmap was written for.
This commit is contained in:
dmiller
2014-05-21 03:53:58 +00:00
parent 3f73a22db0
commit 2f23d996bd
14 changed files with 68 additions and 0 deletions

View File

@@ -18,6 +18,11 @@ import difflib
import getopt
import sys
import time
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.sax
import xml.sax.saxutils
import xml.dom.minidom

View File

@@ -5,6 +5,11 @@
import subprocess
import sys
import unittest
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.dom.minidom
import StringIO

View File

@@ -119,6 +119,11 @@
# * *
# ***************************************************************************/
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.sax
import xml.sax.saxutils
from xml.sax.xmlreader import AttributesImpl as Attributes

View File

@@ -6,6 +6,11 @@
import getopt
import os
import sys
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.sax
directory = None

View File

@@ -125,6 +125,10 @@ import os
import subprocess
import sys
import tempfile
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.sax
from zenmapCore.Name import APP_NAME

View File

@@ -128,6 +128,10 @@ import socket
import StringIO
import copy
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
from types import StringTypes
from xml.sax import make_parser
from xml.sax import SAXException

View File

@@ -139,6 +139,11 @@ from zenmapCore.Version import VERSION
from zenmapCore.Paths import Path
import zenmapCore.I18N
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
# For escaping text in marked-up labels.
from xml.sax.saxutils import escape

View File

@@ -127,6 +127,11 @@ from zenmapGUI.higwidgets.higboxes import HIGVBox
from zenmapCore.Name import APP_DISPLAY_NAME, NMAP_DISPLAY_NAME, NMAP_WEB_SITE
import zenmapCore.I18N
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
# For escaping text in marked-up labels.
from xml.sax.saxutils import escape

View File

@@ -131,6 +131,11 @@ from zenmapCore.Name import APP_DISPLAY_NAME
from zenmapCore.Version import VERSION
import zenmapCore.I18N
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
# For escaping text in marked-up labels.
from xml.sax.saxutils import escape

View File

@@ -126,6 +126,11 @@ import pango
import os
import os.path
import sys
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.sax
from zenmapGUI.higwidgets.higdialogs import HIGAlertDialog, HIGDialog

View File

@@ -125,6 +125,11 @@ import gtk
import sys
import os
from os.path import split, isfile, join, abspath, exists
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.sax.saxutils
from time import time

View File

@@ -123,6 +123,11 @@
import gobject
import gtk
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
from xml.dom import minidom
from zenmapGUI.higwidgets.higboxes import HIGHBox

View File

@@ -125,6 +125,11 @@ import gtk
import gobject
import os
import time
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.sax
from zenmapGUI.higwidgets.hignotebooks import HIGNotebook, HIGAnimatedTabLabel

View File

@@ -125,6 +125,11 @@ import gobject
import gtk
import sys
import tempfile
# Prevent loading PyXML
import xml
xml.__path__ = [x for x in xml.__path__ if "_xmlplus" not in x]
import xml.sax
from zenmapGUI.higwidgets.higwindows import HIGWindow