dissect.target 3.19.dev58__py3-none-any.whl → 3.20.dev2__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- 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
|