Skip to content

Commit 8be54c7

Browse files
authored
Merge pull request #310 from mar10/pr/308
remove defusedxml.lxml
2 parents 1e35d0c + 571c492 commit 8be54c7

File tree

5 files changed

+6
-10
lines changed

5 files changed

+6
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
responses (default: false).
77
- #298: `--root` argument honors `fs_dav_provider` configuration.
88
- #301: `_DAVResource` should have `is_link()` method to avoid dir_browser issues.
9+
- [#308](https://github.com/mar10/wsgidav/issues/308) remove defusedxml dependency
910

1011
## 4.3.0 / 2023-09-24
1112

Pipfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ safety = "*"
3535
yabs = "*"
3636

3737
[packages]
38-
defusedxml = "*" # "~=0.5"
38+
defusedxml = "*" # "~=0.7"
3939
Jinja2 = "*" # "~=2.10"
4040
PyYAML = "*" # "~=5.1"
4141
json5 = "*"

docs/source/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Requirements used by Sphinx / RTD
2-
defusedxml~=0.5
2+
defusedxml~=0.7.1
33
Jinja2~=3.0
44
json5~=0.8.5
55
python-pam~=2.0.2

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
defusedxml~=0.5
1+
defusedxml~=0.7.1
22
Jinja2~=3.0
33
json5~=0.8.5
44
python-pam~=2.0

wsgidav/xml_tools.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,11 @@
1717
# Import XML support
1818
use_lxml = False
1919
try:
20-
# This import helps setup.py to include lxml completely:
21-
# lxml with safe defaults
22-
from defusedxml.lxml import _etree as etree
23-
from lxml import _elementpath as _dummy_elementpath # noqa
20+
from lxml import etree
2421

2522
use_lxml = True
2623
_ElementType = etree._Element
2724
except ImportError:
28-
# warnings.warn("Could not import lxml") # , ImportWarning)
29-
# Try xml module (Python 2.5 or later) with safe defaults
3025
# defusedxml doesn't define these non-parsing related objects
3126
from xml.etree.ElementTree import Element, SubElement, tostring
3227

@@ -49,7 +44,7 @@ def is_etree_element(obj):
4944
def string_to_xml(text):
5045
"""Convert XML string into etree.Element."""
5146
try:
52-
return etree.XML(text)
47+
return etree.XML(text, forbid_entities=True)
5348
except Exception:
5449
# TODO:
5550
# ExpatError: reference to invalid character number: line 1, column 62

0 commit comments

Comments
 (0)