dissect.target 3.20.dev11__py3-none-any.whl → 3.20.dev13__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- dissect/target/plugins/os/unix/bsd/osx/_os.py +3 -1
- dissect/target/plugins/os/unix/log/messages.py +6 -11
- {dissect.target-3.20.dev11.dist-info → dissect.target-3.20.dev13.dist-info}/METADATA +1 -1
- {dissect.target-3.20.dev11.dist-info → dissect.target-3.20.dev13.dist-info}/RECORD +9 -9
- {dissect.target-3.20.dev11.dist-info → dissect.target-3.20.dev13.dist-info}/COPYRIGHT +0 -0
- {dissect.target-3.20.dev11.dist-info → dissect.target-3.20.dev13.dist-info}/LICENSE +0 -0
- {dissect.target-3.20.dev11.dist-info → dissect.target-3.20.dev13.dist-info}/WHEEL +0 -0
- {dissect.target-3.20.dev11.dist-info → dissect.target-3.20.dev13.dist-info}/entry_points.txt +0 -0
- {dissect.target-3.20.dev11.dist-info → dissect.target-3.20.dev13.dist-info}/top_level.txt +0 -0
@@ -3,6 +3,8 @@ from __future__ import annotations
|
|
3
3
|
import plistlib
|
4
4
|
from typing import Iterator, Optional
|
5
5
|
|
6
|
+
from flow.record.fieldtypes import posix_path
|
7
|
+
|
6
8
|
from dissect.target.filesystem import Filesystem
|
7
9
|
from dissect.target.helpers.record import UnixUserRecord
|
8
10
|
from dissect.target.plugin import OperatingSystem, export
|
@@ -71,7 +73,7 @@ class MacPlugin(BsdPlugin):
|
|
71
73
|
uid=user.get("uid", [None])[0],
|
72
74
|
gid=user.get("gid", [None])[0],
|
73
75
|
gecos=user.get("realname", [None])[0],
|
74
|
-
home=home_dir,
|
76
|
+
home=posix_path(home_dir) if home_dir else None,
|
75
77
|
shell=user.get("shell", [None])[0],
|
76
78
|
source=path,
|
77
79
|
)
|
@@ -6,7 +6,7 @@ from dissect.target import Target
|
|
6
6
|
from dissect.target.exceptions import UnsupportedPluginError
|
7
7
|
from dissect.target.helpers.record import TargetRecordDescriptor
|
8
8
|
from dissect.target.helpers.utils import year_rollover_helper
|
9
|
-
from dissect.target.plugin import Plugin, export
|
9
|
+
from dissect.target.plugin import Plugin, alias, export
|
10
10
|
|
11
11
|
MessagesRecord = TargetRecordDescriptor(
|
12
12
|
"linux/log/messages",
|
@@ -24,7 +24,9 @@ RE_TS = re.compile(r"(\w+\s{1,2}\d+\s\d{2}:\d{2}:\d{2})")
|
|
24
24
|
RE_DAEMON = re.compile(r"^[^:]+:\d+:\d+[^\[\]:]+\s([^\[:]+)[\[|:]{1}")
|
25
25
|
RE_PID = re.compile(r"\w\[(\d+)\]")
|
26
26
|
RE_MSG = re.compile(r"[^:]+:\d+:\d+[^:]+:\s(.*)$")
|
27
|
-
RE_CLOUD_INIT_LINE = re.compile(
|
27
|
+
RE_CLOUD_INIT_LINE = re.compile(
|
28
|
+
r"^(?P<ts>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2},\d{3}) - (?P<daemon>.*)\[(?P<log_level>\w+)\]\: (?P<message>.*)$"
|
29
|
+
)
|
28
30
|
|
29
31
|
|
30
32
|
class MessagesPlugin(Plugin):
|
@@ -43,19 +45,12 @@ class MessagesPlugin(Plugin):
|
|
43
45
|
if not self.log_files:
|
44
46
|
raise UnsupportedPluginError("No log files found")
|
45
47
|
|
46
|
-
@
|
47
|
-
def syslog(self) -> Iterator[MessagesRecord]:
|
48
|
-
"""Return contents of /var/log/messages*, /var/log/syslog* and cloud-init logs.
|
49
|
-
|
50
|
-
See ``messages`` for more information.
|
51
|
-
"""
|
52
|
-
return self.messages()
|
53
|
-
|
48
|
+
@alias("syslog")
|
54
49
|
@export(record=MessagesRecord)
|
55
50
|
def messages(self) -> Iterator[MessagesRecord]:
|
56
51
|
"""Return contents of /var/log/messages*, /var/log/syslog* and cloud-init logs.
|
57
52
|
|
58
|
-
|
53
|
+
Due to year rollover detection, the contents of the files are returned in reverse.
|
59
54
|
|
60
55
|
The messages log file holds information about a variety of events such as the system error messages, system
|
61
56
|
startups and shutdowns, change in the network configuration, etc. Aims to store valuable, non-debug and
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: dissect.target
|
3
|
-
Version: 3.20.
|
3
|
+
Version: 3.20.dev13
|
4
4
|
Summary: This module ties all other Dissect modules together, it provides a programming API and command line tools which allow easy access to various data sources inside disk images or file collections (a.k.a. targets)
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
6
6
|
License: Affero General Public License v3
|
@@ -211,7 +211,7 @@ dissect/target/plugins/os/unix/bsd/ios/_os.py,sha256=VlJXGxkQZ4RbGbSC-FlbR2YWOJp
|
|
211
211
|
dissect/target/plugins/os/unix/bsd/openbsd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
212
212
|
dissect/target/plugins/os/unix/bsd/openbsd/_os.py,sha256=9npz-osM-wHmjOACUqof5N5HJeps7J8KuyenUS5MZDs,923
|
213
213
|
dissect/target/plugins/os/unix/bsd/osx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
214
|
-
dissect/target/plugins/os/unix/bsd/osx/_os.py,sha256=
|
214
|
+
dissect/target/plugins/os/unix/bsd/osx/_os.py,sha256=_ceh3R9hHsQrYM-vX8c_9igT3luM3oQebTMem8vFb1E,3497
|
215
215
|
dissect/target/plugins/os/unix/bsd/osx/network.py,sha256=j2yq2QTAmAuZBu3j0vHnHHxkUyeB4b-6WdUSWCE_QsE,3691
|
216
216
|
dissect/target/plugins/os/unix/bsd/osx/user.py,sha256=qopB0s3n7e6Q7NjWzn8Z-dKtDtU7e6In4Vm7hIvvedo,2322
|
217
217
|
dissect/target/plugins/os/unix/esxi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -259,7 +259,7 @@ dissect/target/plugins/os/unix/log/audit.py,sha256=OjorWTmCFvCI5RJq6m6WNW0Lhb-po
|
|
259
259
|
dissect/target/plugins/os/unix/log/auth.py,sha256=l7gCuRdvv9gL0U1N0yrR9hVsMnr4t_k4t-n-f6PrOxg,2388
|
260
260
|
dissect/target/plugins/os/unix/log/journal.py,sha256=auVRfrW4NRU7HguoDLTz4l_IwNdPZLPAqD7jhrOTzH8,17404
|
261
261
|
dissect/target/plugins/os/unix/log/lastlog.py,sha256=Wq89wRSFZSBsoKVCxjDofnC4yw9XJ4iOF0XJe9EucCo,2448
|
262
|
-
dissect/target/plugins/os/unix/log/messages.py,sha256=
|
262
|
+
dissect/target/plugins/os/unix/log/messages.py,sha256=O10Uw3PGTanfGpphUWYqOwOIR7XiiM-clfboVCoiP0U,4501
|
263
263
|
dissect/target/plugins/os/unix/log/utmp.py,sha256=1nPHIaBUHt_9z6PDrvyqg4huKLihUaWLrMmgMsbaeIo,7755
|
264
264
|
dissect/target/plugins/os/windows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
265
265
|
dissect/target/plugins/os/windows/_os.py,sha256=-x5TD5BvFw-7zEfqT6WG7n04YSeyr7wVLO07y6xkBP8,12476
|
@@ -365,10 +365,10 @@ dissect/target/volumes/luks.py,sha256=OmCMsw6rCUXG1_plnLVLTpsvE1n_6WtoRUGQbpmu1z
|
|
365
365
|
dissect/target/volumes/lvm.py,sha256=wwQVR9I3G9YzmY6UxFsH2Y4MXGBcKL9aayWGCDTiWMU,2269
|
366
366
|
dissect/target/volumes/md.py,sha256=7ShPtusuLGaIv27SvEETtgsuoQyAa4iAAeOR1NEaajI,1689
|
367
367
|
dissect/target/volumes/vmfs.py,sha256=-LoUbn9WNwTtLi_4K34uV_-wDw2W5hgaqxZNj4UmqAQ,1730
|
368
|
-
dissect.target-3.20.
|
369
|
-
dissect.target-3.20.
|
370
|
-
dissect.target-3.20.
|
371
|
-
dissect.target-3.20.
|
372
|
-
dissect.target-3.20.
|
373
|
-
dissect.target-3.20.
|
374
|
-
dissect.target-3.20.
|
368
|
+
dissect.target-3.20.dev13.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
|
369
|
+
dissect.target-3.20.dev13.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
370
|
+
dissect.target-3.20.dev13.dist-info/METADATA,sha256=mpZi2V8jF1Sz3fTDHliJKuFMK5T3-EKFajMi30PNUrM,12897
|
371
|
+
dissect.target-3.20.dev13.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
372
|
+
dissect.target-3.20.dev13.dist-info/entry_points.txt,sha256=BWuxAb_6AvUAQpIQOQU0IMTlaF6TDht2AIZK8bHd-zE,492
|
373
|
+
dissect.target-3.20.dev13.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
|
374
|
+
dissect.target-3.20.dev13.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
{dissect.target-3.20.dev11.dist-info → dissect.target-3.20.dev13.dist-info}/entry_points.txt
RENAMED
File without changes
|
File without changes
|