Skip to content

Commit c09e396

Browse files
committed
fix: regression introduced by first fix for #150
Signed-off-by: Paul Horton <[email protected]>
1 parent 70d25c8 commit c09e396

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

Diff for: cyclonedx/output/schema.py

+12
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,9 @@ def component_supports_external_references(self) -> bool:
7777
def component_supports_release_notes(self) -> bool:
7878
return True
7979

80+
def external_references_supports_hashes(self) -> bool:
81+
return True
82+
8083
@abstractmethod
8184
def get_schema_version(self) -> str:
8285
raise NotImplementedError
@@ -150,6 +153,9 @@ def component_supports_mime_type_attribute(self) -> bool:
150153
def component_supports_release_notes(self) -> bool:
151154
return False
152155

156+
def external_references_supports_hashes(self) -> bool:
157+
return False
158+
153159
def get_schema_version(self) -> str:
154160
return '1.2'
155161

@@ -193,6 +199,9 @@ def component_supports_author(self) -> bool:
193199
def component_supports_release_notes(self) -> bool:
194200
return False
195201

202+
def external_references_supports_hashes(self) -> bool:
203+
return False
204+
196205
def get_schema_version(self) -> str:
197206
return '1.1'
198207

@@ -245,5 +254,8 @@ def component_supports_external_references(self) -> bool:
245254
def component_supports_release_notes(self) -> bool:
246255
return False
247256

257+
def external_references_supports_hashes(self) -> bool:
258+
return False
259+
248260
def get_schema_version(self) -> str:
249261
return '1.0'

Diff for: cyclonedx/output/xml.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ def _add_component_element(self, component: Component) -> ElementTree.Element:
208208
if ext_ref.get_comment():
209209
ElementTree.SubElement(external_reference_e, 'comment').text = ext_ref.get_comment()
210210

211-
if len(ext_ref.get_hashes()) > 0:
211+
if self.external_references_supports_hashes() and len(ext_ref.get_hashes()) > 0:
212212
Xml._add_hashes_to_element(hashes=ext_ref.get_hashes(), element=external_reference_e)
213213

214214
# releaseNotes
@@ -476,8 +476,8 @@ def _get_vulnerability_as_xml_element_pre_1_3(self, bom_ref: str,
476476

477477
return vulnerability_element
478478

479-
@staticmethod
480-
def _add_external_references_to_element(ext_refs: List[ExternalReference], element: ElementTree.Element) -> None:
479+
def _add_external_references_to_element(self, ext_refs: List[ExternalReference],
480+
element: ElementTree.Element) -> None:
481481
ext_refs_element = ElementTree.SubElement(element, 'externalReferences')
482482
for external_reference in ext_refs:
483483
ext_ref_element = ElementTree.SubElement(
@@ -486,7 +486,7 @@ def _add_external_references_to_element(ext_refs: List[ExternalReference], eleme
486486
ElementTree.SubElement(ext_ref_element, 'url').text = external_reference.get_url()
487487
if external_reference.get_comment():
488488
ElementTree.SubElement(ext_ref_element, 'comment').text = external_reference.get_comment()
489-
if external_reference.get_hashes():
489+
if self.external_references_supports_hashes() and external_reference.get_hashes():
490490
Xml._add_hashes_to_element(hashes=external_reference.get_hashes(), element=ext_ref_element)
491491

492492
@staticmethod
@@ -519,7 +519,7 @@ def _add_tool(self, parent_element: ElementTree.Element, tool: Tool, tag_name: s
519519
if tool.get_hashes():
520520
Xml._add_hashes_to_element(hashes=tool.get_hashes(), element=tool_element)
521521
if self.bom_metadata_supports_tools_external_references() and tool.get_external_references():
522-
Xml._add_external_references_to_element(
522+
self._add_external_references_to_element(
523523
ext_refs=tool.get_external_references(), element=tool_element
524524
)
525525

0 commit comments

Comments
 (0)