dissect.target 3.19.dev58__py3-none-any.whl → 3.20.dev2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dissect/target/filesystems/btrfs.py +7 -1
- dissect/target/tools/mount.py +15 -5
- {dissect.target-3.19.dev58.dist-info → dissect.target-3.20.dev2.dist-info}/METADATA +1 -1
- {dissect.target-3.19.dev58.dist-info → dissect.target-3.20.dev2.dist-info}/RECORD +9 -9
- {dissect.target-3.19.dev58.dist-info → dissect.target-3.20.dev2.dist-info}/COPYRIGHT +0 -0
- {dissect.target-3.19.dev58.dist-info → dissect.target-3.20.dev2.dist-info}/LICENSE +0 -0
- {dissect.target-3.19.dev58.dist-info → dissect.target-3.20.dev2.dist-info}/WHEEL +0 -0
- {dissect.target-3.19.dev58.dist-info → dissect.target-3.20.dev2.dist-info}/entry_points.txt +0 -0
- {dissect.target-3.19.dev58.dist-info → dissect.target-3.20.dev2.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
import math
|
3
4
|
from typing import BinaryIO, Iterator, Optional, Union
|
4
5
|
|
5
6
|
import dissect.btrfs as btrfs
|
@@ -153,7 +154,7 @@ class BtrfsFilesystemEntry(FilesystemEntry):
|
|
153
154
|
node = self.entry.inode
|
154
155
|
|
155
156
|
# mode, ino, dev, nlink, uid, gid, size, atime, mtime, ctime
|
156
|
-
st_info =
|
157
|
+
st_info = fsutil.stat_result(
|
157
158
|
[
|
158
159
|
entry.mode,
|
159
160
|
entry.inum,
|
@@ -176,5 +177,10 @@ class BtrfsFilesystemEntry(FilesystemEntry):
|
|
176
177
|
|
177
178
|
# Btrfs has a birth time, called otime
|
178
179
|
st_info.st_birthtime = entry.otime.timestamp()
|
180
|
+
st_info.st_birthtime_ns = entry.otime_ns
|
181
|
+
|
182
|
+
# Add block information of the filesystem
|
183
|
+
st_info.st_blksize = entry.btrfs.sector_size
|
184
|
+
st_info.st_blocks = math.ceil(entry.size / st_info.st_blksize)
|
179
185
|
|
180
186
|
return st_info
|
dissect/target/tools/mount.py
CHANGED
@@ -99,14 +99,24 @@ def main():
|
|
99
99
|
options = parse_options_string(args.options) if args.options else {}
|
100
100
|
|
101
101
|
options["nothreads"] = True
|
102
|
-
options["allow_other"] = True
|
103
102
|
options["ro"] = True
|
104
|
-
|
105
|
-
|
103
|
+
# Check if the allow other option is either not set (None) or set to True with -o allow_other=True
|
104
|
+
if (allow_other := options.get("allow_other")) is None or str(allow_other).lower() == "true":
|
105
|
+
options["allow_other"] = True
|
106
|
+
# If allow_other was not set, warn the user that it will be set by default
|
107
|
+
if allow_other is None:
|
108
|
+
log.warning("Using option 'allow_other' by default, please use '-o allow_other=False' to unset")
|
109
|
+
# Let the user be able to unset the allow_other option by supplying -o allow_other=False
|
110
|
+
elif str(allow_other).lower() == "false":
|
111
|
+
options["allow_other"] = False
|
112
|
+
|
113
|
+
log.info("Mounting to %s with options: %s", args.mount, _format_options(options))
|
106
114
|
try:
|
107
115
|
FUSE(DissectMount(vfs), args.mount, **options)
|
108
|
-
except RuntimeError:
|
109
|
-
|
116
|
+
except RuntimeError as e:
|
117
|
+
log.error("Mounting target %s failed", t)
|
118
|
+
log.debug("", exc_info=e)
|
119
|
+
parser.exit(1)
|
110
120
|
|
111
121
|
|
112
122
|
def _format_options(options: dict[str, Union[str, bool]]) -> str:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: dissect.target
|
3
|
-
Version: 3.
|
3
|
+
Version: 3.20.dev2
|
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
|
@@ -23,7 +23,7 @@ dissect/target/containers/vmdk.py,sha256=5fQGkJy4esXONXrKLbhpkQDt8Fwx19YENK2mOm7
|
|
23
23
|
dissect/target/data/autocompletion/target_bash_completion.sh,sha256=wrOQ_ED-h8WFcjCmY6n4qKl84tWJv9l8ShFHDfJqJyA,3592
|
24
24
|
dissect/target/filesystems/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
25
|
dissect/target/filesystems/ad1.py,sha256=nEPzaaRsb6bL4ItFo0uLdmdLvrmK9BjqHeD3FOp3WQI,2413
|
26
|
-
dissect/target/filesystems/btrfs.py,sha256=
|
26
|
+
dissect/target/filesystems/btrfs.py,sha256=X-eMlKkx88xS2iIWRuq9yaQ82fl0DM435F1sdXkDo8g,6469
|
27
27
|
dissect/target/filesystems/cb.py,sha256=6LcoJiwsYu1Han31IUzVpZVDTifhTLTx_gLfNpB_p6k,5329
|
28
28
|
dissect/target/filesystems/config.py,sha256=GQOtixIIt-Jjtpl3IVqUTujcBFfWaAZeAtvxgNUNetU,11963
|
29
29
|
dissect/target/filesystems/cpio.py,sha256=ssVCjkAtLn2FqmNxeo6U5boyUdSYFxLWfXpytHYGPqs,641
|
@@ -346,7 +346,7 @@ dissect/target/tools/fs.py,sha256=3Ny8zoooVeeF7OUkQ0nxZVdEaQeU7vPRjDOYhz6XfRA,53
|
|
346
346
|
dissect/target/tools/fsutils.py,sha256=dyAdp2fzydcozaIZ1mFTpdUeVcibYNJCHN8AFw5FoKU,8285
|
347
347
|
dissect/target/tools/info.py,sha256=8nnbqFUYeo4NLPE7ORcTBcDL-TioGB2Nqc1TKcu5qdY,5715
|
348
348
|
dissect/target/tools/logging.py,sha256=5ZnumtMWLyslxfrUGZ4ntRyf3obOOhmn8SBjKfdLcEg,4174
|
349
|
-
dissect/target/tools/mount.py,sha256=
|
349
|
+
dissect/target/tools/mount.py,sha256=8GRYnu4xEmFBHxuIZAYhOMyyTGX8fat1Ou07DNiUnW4,3945
|
350
350
|
dissect/target/tools/query.py,sha256=XgMDSfaN4SivJmIIEntYJOXcOEwWrUp_tYt5AjEtB4k,15602
|
351
351
|
dissect/target/tools/reg.py,sha256=FDsiBBDxjWVUBTRj8xn82vZe-J_d9piM-TKS3PHZCcM,3193
|
352
352
|
dissect/target/tools/shell.py,sha256=dmshIriwdd_UwrdUcTfWkcYD8Z0mjzbDqwyZG-snDdM,50482
|
@@ -364,10 +364,10 @@ dissect/target/volumes/luks.py,sha256=OmCMsw6rCUXG1_plnLVLTpsvE1n_6WtoRUGQbpmu1z
|
|
364
364
|
dissect/target/volumes/lvm.py,sha256=wwQVR9I3G9YzmY6UxFsH2Y4MXGBcKL9aayWGCDTiWMU,2269
|
365
365
|
dissect/target/volumes/md.py,sha256=7ShPtusuLGaIv27SvEETtgsuoQyAa4iAAeOR1NEaajI,1689
|
366
366
|
dissect/target/volumes/vmfs.py,sha256=-LoUbn9WNwTtLi_4K34uV_-wDw2W5hgaqxZNj4UmqAQ,1730
|
367
|
-
dissect.target-3.
|
368
|
-
dissect.target-3.
|
369
|
-
dissect.target-3.
|
370
|
-
dissect.target-3.
|
371
|
-
dissect.target-3.
|
372
|
-
dissect.target-3.
|
373
|
-
dissect.target-3.
|
367
|
+
dissect.target-3.20.dev2.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
|
368
|
+
dissect.target-3.20.dev2.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
369
|
+
dissect.target-3.20.dev2.dist-info/METADATA,sha256=P1LjJWlRFvSx5SCMe2Ljzdg4F3G4pMzRaKNNBHCcZYk,12896
|
370
|
+
dissect.target-3.20.dev2.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
371
|
+
dissect.target-3.20.dev2.dist-info/entry_points.txt,sha256=BWuxAb_6AvUAQpIQOQU0IMTlaF6TDht2AIZK8bHd-zE,492
|
372
|
+
dissect.target-3.20.dev2.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
|
373
|
+
dissect.target-3.20.dev2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|