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.
@@ -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,,