fix: Applying the interoperability parameter to UUIDs referenced in various SDOs & SROs
parent
3ae38fe687
commit
3850a046ff
|
@ -135,7 +135,12 @@ class MarkingDefinition(_STIXBase, _MarkingsMixin):
|
|||
if not isinstance(kwargs['definition'], marking_type):
|
||||
defn = _get_dict(kwargs['definition'])
|
||||
kwargs['definition'] = marking_type(**defn)
|
||||
self._properties['id'].interoperability = kwargs.get('interoperability', False)
|
||||
interoperability = kwargs.get('interoperability', False)
|
||||
self._properties['id'].interoperability = interoperability
|
||||
if kwargs.get('created_by_ref'):
|
||||
self._properties['created_by_ref'].interoperability = interoperability
|
||||
if kwargs.get('object_marking_refs'):
|
||||
self._properties['object_marking_refs'].contained.interoperability = interoperability
|
||||
|
||||
super(MarkingDefinition, self).__init__(**kwargs)
|
||||
|
||||
|
|
|
@ -22,6 +22,8 @@ class STIXDomainObject(_STIXBase, _MarkingsMixin):
|
|||
self.__interoperability = interoperability
|
||||
self._properties['id'].interoperability = interoperability
|
||||
self._properties['created_by_ref'].interoperability = interoperability
|
||||
if kwargs.get('object_marking_refs'):
|
||||
self._properties['object_marking_refs'].contained.interoperability = interoperability
|
||||
|
||||
super(STIXDomainObject, self).__init__(*args, **kwargs)
|
||||
|
||||
|
@ -262,6 +264,11 @@ class Report(STIXDomainObject):
|
|||
('granular_markings', ListProperty(GranularMarking)),
|
||||
])
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self._properties['object_refs'].contained.interoperability = kwargs.get('interoperability', False)
|
||||
|
||||
super(Report, self).__init__(*args, **kwargs)
|
||||
|
||||
|
||||
class ThreatActor(STIXDomainObject):
|
||||
"""For more detailed information on this object's properties, see
|
||||
|
|
|
@ -12,7 +12,16 @@ from .common import ExternalReference, GranularMarking
|
|||
|
||||
|
||||
class STIXRelationshipObject(_STIXBase, _MarkingsMixin):
|
||||
pass
|
||||
def __init__(self, *args, **kwargs):
|
||||
interoperability = kwargs.get('interoperability', False)
|
||||
self.__interoperability = interoperability
|
||||
self._properties['id'].interoperability = interoperability
|
||||
if kwargs.get('created_by_ref'):
|
||||
self._properties['created_by_ref'].interoperability = interoperability
|
||||
if kwargs.get('object_marking_refs'):
|
||||
self._properties['object_marking_refs'].contained.interoperability = interoperability
|
||||
|
||||
super(STIXRelationshipObject, self).__init__(*args, **kwargs)
|
||||
|
||||
|
||||
class Relationship(STIXRelationshipObject):
|
||||
|
@ -49,6 +58,9 @@ class Relationship(STIXRelationshipObject):
|
|||
kwargs['relationship_type'] = relationship_type
|
||||
if target_ref and not kwargs.get('target_ref'):
|
||||
kwargs['target_ref'] = target_ref
|
||||
interoperability = kwargs.get('interoperability', False)
|
||||
self._properties['source_ref'].interoperability = interoperability
|
||||
self._properties['target_ref'].interoperability = interoperability
|
||||
|
||||
super(Relationship, self).__init__(**kwargs)
|
||||
|
||||
|
@ -85,5 +97,11 @@ class Sighting(STIXRelationshipObject):
|
|||
# Allow sighting_of_ref as a positional arg.
|
||||
if sighting_of_ref and not kwargs.get('sighting_of_ref'):
|
||||
kwargs['sighting_of_ref'] = sighting_of_ref
|
||||
interoperability = kwargs.get('interoperability', False)
|
||||
self._properties['sighting_of_ref'].interoperability = interoperability
|
||||
if kwargs.get('observed_data_refs'):
|
||||
self._properties['observed_data_refs'].contained.interoperability = interoperability
|
||||
if kwargs.get('where_sighted_refs'):
|
||||
self._properties['where_sighted_refs'].contained.interoperability = interoperability
|
||||
|
||||
super(Sighting, self).__init__(**kwargs)
|
||||
|
|
Loading…
Reference in New Issue