diff --git a/mitreattack/navlayers/core/layerobj.py b/mitreattack/navlayers/core/layerobj.py index 97cf0e13..20c204c4 100644 --- a/mitreattack/navlayers/core/layerobj.py +++ b/mitreattack/navlayers/core/layerobj.py @@ -34,6 +34,7 @@ def __init__(self, name, domain): self.name = name self.__description = UNSETVALUE self.domain = domain + self.__customDataURL = UNSETVALUE self.__filters = UNSETVALUE self.__sorting = UNSETVALUE self.__layout = UNSETVALUE @@ -107,6 +108,16 @@ def domain(self, domain): dom = dom.split("-")[-1] + "-attack" categoryChecker(type(self).__name__, dom, ["enterprise-attack", "mobile-attack", "ics-attack"], "domain") self.__domain = domain + + @property + def customDataURL(self): + if self.__customDataURL != UNSETVALUE: + return self.__customDataURL + + @customDataURL.setter + def customDataURL(self, customDataURL): + typeChecker(type(self).__name__, customDataURL, str, "customDataURL") + self.__customDataURL = customDataURL @property def description(self): diff --git a/mitreattack/navlayers/core/versions.py b/mitreattack/navlayers/core/versions.py index fa2342e5..6ef86047 100644 --- a/mitreattack/navlayers/core/versions.py +++ b/mitreattack/navlayers/core/versions.py @@ -60,12 +60,14 @@ def layer(self, layer): """Setter for layer.""" typeChecker(type(self).__name__, layer, str, "layer") try: - categoryChecker(type(self).__name__, layer, ["3.0", "4.0", "4.1", "4.2", "4.3"], "layer version") + categoryChecker(type(self).__name__, layer, ["3.0", "4.0", "4.1", "4.2", "4.3", "4.4"], "layer version") except BadInput: print( f"[WARNING] - unrecognized layer version {layer}. Defaulting to the 4.3 schema, this may result in " f"unexpected behavior." ) + layer = "4.3" + if layer in ["3.0", "4.0", "4.1", "4.2"]: print(f"[NOTICE] - Forcibly upgrading version from {layer} to 4.3.") layer = "4.3"