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.
@@ -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 = st_info = fsutil.stat_result(
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
@@ -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
- print(f"Mounting to {args.mount} with options: {_format_options(options)}")
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
- parser.exit("FUSE error")
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.19.dev58
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=5MBi193ZvclkEQcxDr_sDHfj_FYU_hyYNRL4YqpDu4M,6243
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=L_0tSmiBdW4aSaF0vXjB0bAkTC0kmT2N1hrbW6s5Jow,3254
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.19.dev58.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
368
- dissect.target-3.19.dev58.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
369
- dissect.target-3.19.dev58.dist-info/METADATA,sha256=ds6L0Tl8rGiXP9RJGdype6uHycYg9TBhK2_CuQKPo9c,12897
370
- dissect.target-3.19.dev58.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
371
- dissect.target-3.19.dev58.dist-info/entry_points.txt,sha256=BWuxAb_6AvUAQpIQOQU0IMTlaF6TDht2AIZK8bHd-zE,492
372
- dissect.target-3.19.dev58.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
373
- dissect.target-3.19.dev58.dist-info/RECORD,,
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,,