dissect.btrfs 1.9.dev1__tar.gz → 1.9.dev2__tar.gz
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_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/PKG-INFO +3 -5
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect/btrfs/btrfs.py +2 -11
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect.btrfs.egg-info/PKG-INFO +3 -5
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect.btrfs.egg-info/requires.txt +2 -5
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/pyproject.toml +2 -5
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/.git-blame-ignore-revs +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/.gitattributes +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/COPYRIGHT +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/LICENSE +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/MANIFEST.in +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/README.md +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect/btrfs/__init__.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect/btrfs/c_btrfs.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect/btrfs/exceptions.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect/btrfs/stream.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect/btrfs/tree.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect.btrfs.egg-info/SOURCES.txt +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect.btrfs.egg-info/dependency_links.txt +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect.btrfs.egg-info/top_level.txt +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/setup.cfg +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/__init__.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-compression.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-default.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-dup-1.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-dup-2.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid0-1.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid0-2.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1-1.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1-2.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid10-1.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid10-2.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1c3-1.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1c3-2.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1c3-3.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1c4-1.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1c4-2.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1c4-3.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid1c4-4.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid5-1.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid5-2.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid6-1.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid6-2.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-raid6-3.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-sparse.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-subvolume-custom-default.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-subvolume-nested.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-subvolume-snapshot.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-subvolume.bin.gz +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_docs/Makefile +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_docs/__init__.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_docs/conf.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_docs/index.rst +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/conftest.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/test_btrfs.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/test_exceptions.py +0 -0
- {dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dissect.btrfs
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.dev2
|
|
4
4
|
Summary: A Dissect module implementing a parser for the Btrfs file system, a commonly used Linux filesystem.
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License-Expression: AGPL-3.0-or-later
|
|
@@ -22,15 +22,13 @@ Description-Content-Type: text/markdown
|
|
|
22
22
|
License-File: LICENSE
|
|
23
23
|
License-File: COPYRIGHT
|
|
24
24
|
Requires-Dist: dissect.cstruct<5,>=4
|
|
25
|
-
Requires-Dist: dissect.util<4,>=3.
|
|
25
|
+
Requires-Dist: dissect.util<4,>=3.23.dev
|
|
26
26
|
Provides-Extra: full
|
|
27
27
|
Requires-Dist: zstandard; extra == "full"
|
|
28
|
-
Provides-Extra: gcrc32
|
|
29
|
-
Requires-Dist: google-crc32c; extra == "gcrc32"
|
|
30
28
|
Provides-Extra: dev
|
|
31
29
|
Requires-Dist: dissect.btrfs[full]; extra == "dev"
|
|
32
30
|
Requires-Dist: dissect.cstruct<5.0.dev,>=4.0.dev; extra == "dev"
|
|
33
|
-
Requires-Dist: dissect.util<4.0.dev,>=3.
|
|
31
|
+
Requires-Dist: dissect.util<4.0.dev,>=3.23.dev; extra == "dev"
|
|
34
32
|
Dynamic: license-file
|
|
35
33
|
|
|
36
34
|
# dissect.btrfs
|
|
@@ -12,18 +12,9 @@ from typing import TYPE_CHECKING, BinaryIO
|
|
|
12
12
|
from uuid import UUID
|
|
13
13
|
|
|
14
14
|
from dissect.util import ts
|
|
15
|
+
from dissect.util.hash import crc32c
|
|
15
16
|
from dissect.util.stream import BufferedStream
|
|
16
17
|
|
|
17
|
-
try:
|
|
18
|
-
import warnings
|
|
19
|
-
|
|
20
|
-
# If the C extension is not available, google-crc32c will display a warning
|
|
21
|
-
with warnings.catch_warnings():
|
|
22
|
-
warnings.simplefilter("ignore")
|
|
23
|
-
from google_crc32c import extend as crc32c
|
|
24
|
-
except ImportError:
|
|
25
|
-
from dissect.util.hash.crc32c import update as crc32c
|
|
26
|
-
|
|
27
18
|
from dissect.btrfs.c_btrfs import FT_MAP, c_btrfs
|
|
28
19
|
from dissect.btrfs.exceptions import (
|
|
29
20
|
Error,
|
|
@@ -272,7 +263,7 @@ class Subvolume:
|
|
|
272
263
|
# Btrfs uses an initial CRC of `(u32)~1`, which is effectively the same as 1 XOR 0xFFFFFFFF
|
|
273
264
|
# We still need to invert the XOR of the result though
|
|
274
265
|
# https://stackoverflow.com/a/40433980
|
|
275
|
-
part_hash = (crc32c(1, part) ^ 0xFFFFFFFF) & 0xFFFFFFFF
|
|
266
|
+
part_hash = (crc32c.update(1, part) ^ 0xFFFFFFFF) & 0xFFFFFFFF
|
|
276
267
|
try:
|
|
277
268
|
_, data = subvolume.tree.find(node.inum, c_btrfs.BTRFS_DIR_ITEM_KEY, part_hash)
|
|
278
269
|
except KeyError:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dissect.btrfs
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.dev2
|
|
4
4
|
Summary: A Dissect module implementing a parser for the Btrfs file system, a commonly used Linux filesystem.
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License-Expression: AGPL-3.0-or-later
|
|
@@ -22,15 +22,13 @@ Description-Content-Type: text/markdown
|
|
|
22
22
|
License-File: LICENSE
|
|
23
23
|
License-File: COPYRIGHT
|
|
24
24
|
Requires-Dist: dissect.cstruct<5,>=4
|
|
25
|
-
Requires-Dist: dissect.util<4,>=3.
|
|
25
|
+
Requires-Dist: dissect.util<4,>=3.23.dev
|
|
26
26
|
Provides-Extra: full
|
|
27
27
|
Requires-Dist: zstandard; extra == "full"
|
|
28
|
-
Provides-Extra: gcrc32
|
|
29
|
-
Requires-Dist: google-crc32c; extra == "gcrc32"
|
|
30
28
|
Provides-Extra: dev
|
|
31
29
|
Requires-Dist: dissect.btrfs[full]; extra == "dev"
|
|
32
30
|
Requires-Dist: dissect.cstruct<5.0.dev,>=4.0.dev; extra == "dev"
|
|
33
|
-
Requires-Dist: dissect.util<4.0.dev,>=3.
|
|
31
|
+
Requires-Dist: dissect.util<4.0.dev,>=3.23.dev; extra == "dev"
|
|
34
32
|
Dynamic: license-file
|
|
35
33
|
|
|
36
34
|
# dissect.btrfs
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
dissect.cstruct<5,>=4
|
|
2
|
-
dissect.util<4,>=3.
|
|
2
|
+
dissect.util<4,>=3.23.dev
|
|
3
3
|
|
|
4
4
|
[dev]
|
|
5
5
|
dissect.btrfs[full]
|
|
6
6
|
dissect.cstruct<5.0.dev,>=4.0.dev
|
|
7
|
-
dissect.util<4.0.dev,>=3.
|
|
7
|
+
dissect.util<4.0.dev,>=3.23.dev
|
|
8
8
|
|
|
9
9
|
[full]
|
|
10
10
|
zstandard
|
|
11
|
-
|
|
12
|
-
[gcrc32]
|
|
13
|
-
google-crc32c
|
|
@@ -26,7 +26,7 @@ classifiers = [
|
|
|
26
26
|
]
|
|
27
27
|
dependencies = [
|
|
28
28
|
"dissect.cstruct>=4,<5",
|
|
29
|
-
"dissect.util>=3.
|
|
29
|
+
"dissect.util>=3.23.dev,<4", #TODO: Remove once we release a new dissect version
|
|
30
30
|
]
|
|
31
31
|
dynamic = ["version"]
|
|
32
32
|
|
|
@@ -39,13 +39,10 @@ repository = "https://github.com/fox-it/dissect.btrfs"
|
|
|
39
39
|
full = [
|
|
40
40
|
"zstandard",
|
|
41
41
|
]
|
|
42
|
-
gcrc32 = [
|
|
43
|
-
"google-crc32c",
|
|
44
|
-
]
|
|
45
42
|
dev = [
|
|
46
43
|
"dissect.btrfs[full]",
|
|
47
44
|
"dissect.cstruct>=4.0.dev,<5.0.dev",
|
|
48
|
-
"dissect.util>=3.
|
|
45
|
+
"dissect.util>=3.23.dev,<4.0.dev", #TODO: Remove once we release a new dissect version
|
|
49
46
|
]
|
|
50
47
|
|
|
51
48
|
[dependency-groups]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/dissect.btrfs.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-subvolume-custom-default.bin.gz
RENAMED
|
File without changes
|
|
File without changes
|
{dissect_btrfs-1.9.dev1 → dissect_btrfs-1.9.dev2}/tests/_data/btrfs-subvolume-snapshot.bin.gz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|