dissect.btrfs 1.2.dev2__tar.gz → 1.3.dev1__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.
Files changed (51) hide show
  1. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/PKG-INFO +1 -1
  2. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect/btrfs/btrfs.py +7 -2
  3. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect.btrfs.egg-info/PKG-INFO +1 -1
  4. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect.btrfs.egg-info/SOURCES.txt +0 -1
  5. dissect.btrfs-1.2.dev2/dissect/btrfs/crc32c.py +0 -50
  6. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/.gitattributes +0 -0
  7. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/COPYRIGHT +0 -0
  8. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/LICENSE +0 -0
  9. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/MANIFEST.in +0 -0
  10. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/README.md +0 -0
  11. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect/btrfs/__init__.py +0 -0
  12. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect/btrfs/c_btrfs.py +0 -0
  13. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect/btrfs/exceptions.py +0 -0
  14. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect/btrfs/stream.py +0 -0
  15. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect/btrfs/tree.py +0 -0
  16. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect.btrfs.egg-info/dependency_links.txt +0 -0
  17. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect.btrfs.egg-info/requires.txt +0 -0
  18. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/dissect.btrfs.egg-info/top_level.txt +0 -0
  19. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/pyproject.toml +0 -0
  20. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/setup.cfg +0 -0
  21. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/__init__.py +0 -0
  22. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/conftest.py +0 -0
  23. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-compression.bin.gz +0 -0
  24. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-default.bin.gz +0 -0
  25. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-dup-1.bin.gz +0 -0
  26. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-dup-2.bin.gz +0 -0
  27. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid0-1.bin.gz +0 -0
  28. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid0-2.bin.gz +0 -0
  29. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1-1.bin.gz +0 -0
  30. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1-2.bin.gz +0 -0
  31. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid10-1.bin.gz +0 -0
  32. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid10-2.bin.gz +0 -0
  33. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1c3-1.bin.gz +0 -0
  34. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1c3-2.bin.gz +0 -0
  35. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1c3-3.bin.gz +0 -0
  36. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1c4-1.bin.gz +0 -0
  37. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1c4-2.bin.gz +0 -0
  38. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1c4-3.bin.gz +0 -0
  39. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid1c4-4.bin.gz +0 -0
  40. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid5-1.bin.gz +0 -0
  41. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid5-2.bin.gz +0 -0
  42. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid6-1.bin.gz +0 -0
  43. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid6-2.bin.gz +0 -0
  44. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-raid6-3.bin.gz +0 -0
  45. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-sparse.bin.gz +0 -0
  46. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-subvolume-custom-default.bin.gz +0 -0
  47. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-subvolume-nested.bin.gz +0 -0
  48. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-subvolume-snapshot.bin.gz +0 -0
  49. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/data/btrfs-subvolume.bin.gz +0 -0
  50. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tests/test_btrfs.py +0 -0
  51. {dissect.btrfs-1.2.dev2 → dissect.btrfs-1.3.dev1}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.btrfs
3
- Version: 1.2.dev2
3
+ Version: 1.3.dev1
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: Affero General Public License v3
@@ -16,9 +16,14 @@ from dissect.util import ts
16
16
  from dissect.util.stream import BufferedStream
17
17
 
18
18
  try:
19
- from google_crc32c import extend as crc32c
19
+ import warnings
20
+
21
+ # If the C extension is not available, google-crc32c will display a warning
22
+ with warnings.catch_warnings():
23
+ warnings.simplefilter("ignore")
24
+ from google_crc32c import extend as crc32c
20
25
  except ImportError:
21
- from dissect.btrfs.crc32c import update as crc32c
26
+ from dissect.util.crc32c import update as crc32c
22
27
 
23
28
  from dissect.btrfs.c_btrfs import FT_MAP, c_btrfs
24
29
  from dissect.btrfs.exceptions import (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.btrfs
3
- Version: 1.2.dev2
3
+ Version: 1.3.dev1
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: Affero General Public License v3
@@ -13,7 +13,6 @@ dissect.btrfs.egg-info/top_level.txt
13
13
  dissect/btrfs/__init__.py
14
14
  dissect/btrfs/btrfs.py
15
15
  dissect/btrfs/c_btrfs.py
16
- dissect/btrfs/crc32c.py
17
16
  dissect/btrfs/exceptions.py
18
17
  dissect/btrfs/stream.py
19
18
  dissect/btrfs/tree.py
@@ -1,50 +0,0 @@
1
- # fmt: off
2
- _TABLE = (
3
- 0x00000000, 0xf26b8303, 0xe13b70f7, 0x1350f3f4, 0xc79a971f, 0x35f1141c, 0x26a1e7e8, 0xd4ca64eb,
4
- 0x8ad958cf, 0x78b2dbcc, 0x6be22838, 0x9989ab3b, 0x4d43cfd0, 0xbf284cd3, 0xac78bf27, 0x5e133c24,
5
- 0x105ec76f, 0xe235446c, 0xf165b798, 0x030e349b, 0xd7c45070, 0x25afd373, 0x36ff2087, 0xc494a384,
6
- 0x9a879fa0, 0x68ec1ca3, 0x7bbcef57, 0x89d76c54, 0x5d1d08bf, 0xaf768bbc, 0xbc267848, 0x4e4dfb4b,
7
- 0x20bd8ede, 0xd2d60ddd, 0xc186fe29, 0x33ed7d2a, 0xe72719c1, 0x154c9ac2, 0x061c6936, 0xf477ea35,
8
- 0xaa64d611, 0x580f5512, 0x4b5fa6e6, 0xb93425e5, 0x6dfe410e, 0x9f95c20d, 0x8cc531f9, 0x7eaeb2fa,
9
- 0x30e349b1, 0xc288cab2, 0xd1d83946, 0x23b3ba45, 0xf779deae, 0x05125dad, 0x1642ae59, 0xe4292d5a,
10
- 0xba3a117e, 0x4851927d, 0x5b016189, 0xa96ae28a, 0x7da08661, 0x8fcb0562, 0x9c9bf696, 0x6ef07595,
11
- 0x417b1dbc, 0xb3109ebf, 0xa0406d4b, 0x522bee48, 0x86e18aa3, 0x748a09a0, 0x67dafa54, 0x95b17957,
12
- 0xcba24573, 0x39c9c670, 0x2a993584, 0xd8f2b687, 0x0c38d26c, 0xfe53516f, 0xed03a29b, 0x1f682198,
13
- 0x5125dad3, 0xa34e59d0, 0xb01eaa24, 0x42752927, 0x96bf4dcc, 0x64d4cecf, 0x77843d3b, 0x85efbe38,
14
- 0xdbfc821c, 0x2997011f, 0x3ac7f2eb, 0xc8ac71e8, 0x1c661503, 0xee0d9600, 0xfd5d65f4, 0x0f36e6f7,
15
- 0x61c69362, 0x93ad1061, 0x80fde395, 0x72966096, 0xa65c047d, 0x5437877e, 0x4767748a, 0xb50cf789,
16
- 0xeb1fcbad, 0x197448ae, 0x0a24bb5a, 0xf84f3859, 0x2c855cb2, 0xdeeedfb1, 0xcdbe2c45, 0x3fd5af46,
17
- 0x7198540d, 0x83f3d70e, 0x90a324fa, 0x62c8a7f9, 0xb602c312, 0x44694011, 0x5739b3e5, 0xa55230e6,
18
- 0xfb410cc2, 0x092a8fc1, 0x1a7a7c35, 0xe811ff36, 0x3cdb9bdd, 0xceb018de, 0xdde0eb2a, 0x2f8b6829,
19
- 0x82f63b78, 0x709db87b, 0x63cd4b8f, 0x91a6c88c, 0x456cac67, 0xb7072f64, 0xa457dc90, 0x563c5f93,
20
- 0x082f63b7, 0xfa44e0b4, 0xe9141340, 0x1b7f9043, 0xcfb5f4a8, 0x3dde77ab, 0x2e8e845f, 0xdce5075c,
21
- 0x92a8fc17, 0x60c37f14, 0x73938ce0, 0x81f80fe3, 0x55326b08, 0xa759e80b, 0xb4091bff, 0x466298fc,
22
- 0x1871a4d8, 0xea1a27db, 0xf94ad42f, 0x0b21572c, 0xdfeb33c7, 0x2d80b0c4, 0x3ed04330, 0xccbbc033,
23
- 0xa24bb5a6, 0x502036a5, 0x4370c551, 0xb11b4652, 0x65d122b9, 0x97baa1ba, 0x84ea524e, 0x7681d14d,
24
- 0x2892ed69, 0xdaf96e6a, 0xc9a99d9e, 0x3bc21e9d, 0xef087a76, 0x1d63f975, 0x0e330a81, 0xfc588982,
25
- 0xb21572c9, 0x407ef1ca, 0x532e023e, 0xa145813d, 0x758fe5d6, 0x87e466d5, 0x94b49521, 0x66df1622,
26
- 0x38cc2a06, 0xcaa7a905, 0xd9f75af1, 0x2b9cd9f2, 0xff56bd19, 0x0d3d3e1a, 0x1e6dcdee, 0xec064eed,
27
- 0xc38d26c4, 0x31e6a5c7, 0x22b65633, 0xd0ddd530, 0x0417b1db, 0xf67c32d8, 0xe52cc12c, 0x1747422f,
28
- 0x49547e0b, 0xbb3ffd08, 0xa86f0efc, 0x5a048dff, 0x8ecee914, 0x7ca56a17, 0x6ff599e3, 0x9d9e1ae0,
29
- 0xd3d3e1ab, 0x21b862a8, 0x32e8915c, 0xc083125f, 0x144976b4, 0xe622f5b7, 0xf5720643, 0x07198540,
30
- 0x590ab964, 0xab613a67, 0xb831c993, 0x4a5a4a90, 0x9e902e7b, 0x6cfbad78, 0x7fab5e8c, 0x8dc0dd8f,
31
- 0xe330a81a, 0x115b2b19, 0x020bd8ed, 0xf0605bee, 0x24aa3f05, 0xd6c1bc06, 0xc5914ff2, 0x37faccf1,
32
- 0x69e9f0d5, 0x9b8273d6, 0x88d28022, 0x7ab90321, 0xae7367ca, 0x5c18e4c9, 0x4f48173d, 0xbd23943e,
33
- 0xf36e6f75, 0x0105ec76, 0x12551f82, 0xe03e9c81, 0x34f4f86a, 0xc69f7b69, 0xd5cf889d, 0x27a40b9e,
34
- 0x79b737ba, 0x8bdcb4b9, 0x988c474d, 0x6ae7c44e, 0xbe2da0a5, 0x4c4623a6, 0x5f16d052, 0xad7d5351,
35
- )
36
- # fmt: on
37
-
38
-
39
- def update(crc: int, data: bytes) -> int:
40
- """Update CRC32C checksum with data."""
41
- crc = crc ^ 0xFFFFFFFF
42
- for b in data:
43
- table_idx = (crc ^ b) & 0xFF
44
- crc = _TABLE[table_idx] ^ ((crc >> 8) & 0xFFFFFFFF)
45
- return crc ^ 0xFFFFFFFF
46
-
47
-
48
- def crc32c(data: bytes, value: int = 0) -> int:
49
- """Calculate CRC32C checksum of some data, with an optional initial value."""
50
- return update(value, data) & 0xFFFFFFFF