# Require a minimum version of Suricata.
min-version: 4.1.0
+ # Require that the Suricata version be less than a version.
+ lt-version: 6
+
# Test is only for this version. For example, 4.0 would match any 4.0
# release, but 4.0.3 would only match 4.0.3.
version: 4.0
return True
+ def is_lt(self, v1, v2):
+ """Return True if v1 is less than v2."""
+ if v1.major < v2.major:
+ return True
+ elif v1.minor < v2.minor:
+ return True
+ elif v1.patch < v2.patch:
+ return True
+ return False
class SuricataConfig:
suri_version=suri_version, expr="gte"):
raise UnsatisfiedRequirementError(
"requires at least version {}".format(min_version))
+ elif key == "lt-version":
+ lt_version = requires["lt-version"]
+ if not is_version_compatible(version=lt_version,
+ suri_version=suri_version, expr="lt"):
+ raise UnsatisfiedRequirementError(
+ "for version less than {}".format(lt_version))
elif key == "version":
req_version = requires["version"]
if not is_version_compatible(version=req_version,