Skip to content

Commit 2ebda44

Browse files
authored
Merge pull request #1738 from volatilityfoundation/framework/missing_version_requirements
Framework: Missing `VersionRequirement`s
2 parents b881fa1 + 66992a5 commit 2ebda44

26 files changed

+130
-2
lines changed

volatility3/framework/plugins/linux/bash.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
3535
requirements.VersionRequirement(
3636
name="pslist", component=pslist.PsList, version=(4, 0, 0)
3737
),
38+
requirements.VersionRequirement(
39+
name="timeliner",
40+
component=timeliner.TimeLinerInterface,
41+
version=(1, 0, 0),
42+
),
3843
requirements.ListRequirement(
3944
name="pid",
4045
element_type=int,

volatility3/framework/plugins/linux/boottime.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
2525
description="Linux kernel",
2626
architectures=["Intel32", "Intel64"],
2727
),
28+
requirements.VersionRequirement(
29+
name="timeliner",
30+
component=timeliner.TimeLinerInterface,
31+
version=(1, 0, 0),
32+
),
2833
requirements.VersionRequirement(
2934
name="pslist", component=pslist.PsList, version=(4, 0, 0)
3035
),

volatility3/framework/plugins/linux/lsof.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,11 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
123123
requirements.VersionRequirement(
124124
name="pslist", component=pslist.PsList, version=(4, 0, 0)
125125
),
126+
requirements.VersionRequirement(
127+
name="timeliner",
128+
component=timeliner.TimeLinerInterface,
129+
version=(1, 0, 0),
130+
),
126131
requirements.VersionRequirement(
127132
name="linuxutils", component=linux.LinuxUtilities, version=(2, 0, 0)
128133
),

volatility3/framework/plugins/linux/pagecache.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
129129
requirements.VersionRequirement(
130130
name="mountinfo", component=mountinfo.MountInfo, version=(1, 2, 0)
131131
),
132+
requirements.VersionRequirement(
133+
name="timeliner",
134+
component=timeliner.TimeLinerInterface,
135+
version=(1, 0, 0),
136+
),
132137
requirements.ListRequirement(
133138
name="type",
134139
description="List of space-separated file type filters i.e. --type REG DIR",

volatility3/framework/plugins/linux/pslist.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
5353
element_type=int,
5454
optional=True,
5555
),
56+
requirements.VersionRequirement(
57+
name="timeliner",
58+
component=timeliner.TimeLinerInterface,
59+
version=(1, 0, 0),
60+
),
5661
requirements.BooleanRequirement(
5762
name="threads",
5863
description="Include user threads",

volatility3/framework/plugins/mac/bash.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ def get_requirements(cls):
3333
requirements.VersionRequirement(
3434
name="pslist", component=pslist.PsList, version=(3, 0, 0)
3535
),
36+
requirements.VersionRequirement(
37+
name="timeliner",
38+
component=timeliner.TimeLinerInterface,
39+
version=(1, 0, 0),
40+
),
3641
requirements.ListRequirement(
3742
name="pid",
3843
description="Filter on specific process IDs",

volatility3/framework/plugins/timeliner.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@ class TimeLinerType(enum.IntEnum):
2525
CHANGED = 4
2626

2727

28-
class TimeLinerInterface(metaclass=abc.ABCMeta):
28+
class TimeLinerInterface(
29+
interfaces.configuration.VersionableInterface, metaclass=abc.ABCMeta
30+
):
2931
"""Interface defining methods that timeliner will use to generate a body
3032
file."""
3133

34+
_version = (1, 0, 0)
35+
3236
@abc.abstractmethod
3337
def generate_timeline(
3438
self,

volatility3/framework/plugins/windows/amcache.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,11 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
234234
requirements.VersionRequirement(
235235
name="hivelist", component=hivelist.HiveList, version=(2, 0, 0)
236236
),
237+
requirements.VersionRequirement(
238+
name="timeliner",
239+
component=timeliner.TimeLinerInterface,
240+
version=(1, 0, 0),
241+
),
237242
]
238243

239244
def generate_timeline(

volatility3/framework/plugins/windows/consoles.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ def get_requirements(cls):
4646
name="pslist", component=pslist.PsList, version=(3, 0, 0)
4747
),
4848
requirements.VersionRequirement(
49-
name="verinfo", component=verinfo.VerInfo, version=(1, 0, 0)
49+
name="verinfo", component=verinfo.VerInfo, version=(2, 0, 0)
50+
),
51+
requirements.VersionRequirement(
52+
name="info", component=info.Info, version=(1, 0, 0)
5053
),
5154
requirements.VersionRequirement(
5255
name="hivelist", component=hivelist.HiveList, version=(2, 0, 0)

volatility3/framework/plugins/windows/dlllist.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
3636
requirements.VersionRequirement(
3737
name="pslist", component=pslist.PsList, version=(3, 0, 0)
3838
),
39+
requirements.VersionRequirement(
40+
name="timeliner",
41+
component=timeliner.TimeLinerInterface,
42+
version=(1, 0, 0),
43+
),
3944
requirements.VersionRequirement(
4045
name="psscan", component=psscan.PsScan, version=(2, 0, 0)
4146
),

0 commit comments

Comments
 (0)