dissect.hypervisor 3.12.dev2__tar.gz → 3.13__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 (90) hide show
  1. {dissect.hypervisor-3.12.dev2/dissect.hypervisor.egg-info → dissect_hypervisor-3.13}/PKG-INFO +1 -1
  2. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/qcow2.py +2 -1
  3. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/vhd.py +2 -1
  4. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/vhdx.py +2 -1
  5. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/vmdk.py +2 -1
  6. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13/dissect.hypervisor.egg-info}/PKG-INFO +1 -1
  7. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/pyproject.toml +0 -1
  8. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tox.ini +1 -1
  9. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/COPYRIGHT +0 -0
  10. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/LICENSE +0 -0
  11. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/MANIFEST.in +0 -0
  12. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/README.md +0 -0
  13. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/__init__.py +0 -0
  14. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/backup/__init__.py +0 -0
  15. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/backup/c_vma.py +0 -0
  16. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/backup/vma.py +0 -0
  17. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/backup/xva.py +0 -0
  18. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/descriptor/__init__.py +0 -0
  19. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/descriptor/c_hyperv.py +0 -0
  20. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/descriptor/hyperv.py +0 -0
  21. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/descriptor/ovf.py +0 -0
  22. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/descriptor/pvs.py +0 -0
  23. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/descriptor/vbox.py +0 -0
  24. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/descriptor/vmx.py +0 -0
  25. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/__init__.py +0 -0
  26. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/c_hdd.py +0 -0
  27. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/c_qcow2.py +0 -0
  28. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/c_vdi.py +0 -0
  29. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/c_vhd.py +0 -0
  30. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/c_vhdx.py +0 -0
  31. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/c_vmdk.py +0 -0
  32. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/hdd.py +0 -0
  33. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/disk/vdi.py +0 -0
  34. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/exceptions.py +0 -0
  35. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/tools/__init__.py +0 -0
  36. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/tools/envelope.py +0 -0
  37. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/tools/vma.py +0 -0
  38. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/util/__init__.py +0 -0
  39. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/util/envelope.py +0 -0
  40. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect/hypervisor/util/vmtar.py +0 -0
  41. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect.hypervisor.egg-info/SOURCES.txt +0 -0
  42. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect.hypervisor.egg-info/dependency_links.txt +0 -0
  43. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect.hypervisor.egg-info/entry_points.txt +0 -0
  44. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect.hypervisor.egg-info/requires.txt +0 -0
  45. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/dissect.hypervisor.egg-info/top_level.txt +0 -0
  46. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/setup.cfg +0 -0
  47. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/__init__.py +0 -0
  48. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/conftest.py +0 -0
  49. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/differencing.avhdx.gz +0 -0
  50. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/dynamic.vhd.gz +0 -0
  51. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/dynamic.vhdx.gz +0 -0
  52. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/encrypted.vmx +0 -0
  53. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/encryption.info +0 -0
  54. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/expanding.hdd/DiskDescriptor.xml +0 -0
  55. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/expanding.hdd/expanding.hdd +0 -0
  56. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/expanding.hdd/expanding.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
  57. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/fixed.vhd.gz +0 -0
  58. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/fixed.vhdx.gz +0 -0
  59. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/local.tgz.ve +0 -0
  60. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/plain.hdd/DiskDescriptor.xml +0 -0
  61. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/plain.hdd/plain.hdd +0 -0
  62. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/plain.hdd/plain.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
  63. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/sesparse.vmdk.gz +0 -0
  64. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/split.hdd/DiskDescriptor.xml +0 -0
  65. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/split.hdd/split.hdd +0 -0
  66. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/split.hdd/split.hdd.0.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
  67. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/split.hdd/split.hdd.1.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
  68. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/split.hdd/split.hdd.2.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
  69. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/split.hdd/split.hdd.3.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
  70. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/split.hdd/split.hdd.4.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
  71. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/split.hdd/split.hdd.5.{5fbaabe3-6958-40ff-92a7-860e329aab41}.hds.gz +0 -0
  72. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/test.VMRS +0 -0
  73. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/test.vgz +0 -0
  74. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/test.vma.gz +0 -0
  75. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/data/test.vmcx +0 -0
  76. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/docs/Makefile +0 -0
  77. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/docs/conf.py +0 -0
  78. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/docs/index.rst +0 -0
  79. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_envelope.py +0 -0
  80. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_hdd.py +0 -0
  81. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_hyperv.py +0 -0
  82. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_ovf.py +0 -0
  83. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_pvs.py +0 -0
  84. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_vbox.py +0 -0
  85. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_vhd.py +0 -0
  86. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_vhdx.py +0 -0
  87. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_vma.py +0 -0
  88. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_vmdk.py +0 -0
  89. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_vmtar.py +0 -0
  90. {dissect.hypervisor-3.12.dev2 → dissect_hypervisor-3.13}/tests/test_vmx.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.hypervisor
3
- Version: 3.12.dev2
3
+ Version: 3.13
4
4
  Summary: A Dissect module implementing parsers for various hypervisor disk, backup and configuration files
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -116,6 +116,8 @@ class QCow2(AlignedStream):
116
116
  if backing_file != ALLOW_NO_BACKING_FILE:
117
117
  self.backing_file = backing_file
118
118
 
119
+ self.l2_table = lru_cache(128)(self.l2_table)
120
+
119
121
  super().__init__(self.header.size)
120
122
 
121
123
  def _read_extensions(self):
@@ -167,7 +169,6 @@ class QCow2(AlignedStream):
167
169
  self.fh.seek(self.header.l1_table_offset)
168
170
  return c_qcow2.uint64[self.header.l1_size](self.fh)
169
171
 
170
- @lru_cache(maxsize=128)
171
172
  def l2_table(self, l2_offset):
172
173
  return L2Table(self, l2_offset)
173
174
 
@@ -101,7 +101,8 @@ class BlockAllocationTable:
101
101
  self.offset = offset
102
102
  self.max_entries = max_entries
103
103
 
104
- @lru_cache(4096)
104
+ self.get = lru_cache(4096)(self.get)
105
+
105
106
  def get(self, block):
106
107
  # This could be improved by caching the entire BAT (or chunks if too large)
107
108
  if block + 1 > self.max_entries:
@@ -206,7 +206,8 @@ class BlockAllocationTable:
206
206
  else:
207
207
  self.entry_count = self._pb_count + ((self._pb_count - 1) // self.chunk_ratio)
208
208
 
209
- @lru_cache(4096)
209
+ self.get = lru_cache(4096)(self.get)
210
+
210
211
  def get(self, entry):
211
212
  """Get a BAT entry."""
212
213
  if entry + 1 > self.entry_count:
@@ -199,7 +199,8 @@ class SparseDisk:
199
199
  self.size = self.header.capacity * SECTOR_SIZE
200
200
  self.sector_count = self.header.capacity
201
201
 
202
- @lru_cache(128)
202
+ self._lookup_grain_table = lru_cache(128)(self._lookup_grain_table)
203
+
203
204
  def _lookup_grain_table(self, directory):
204
205
  gtbl_offset = self._grain_directory[directory]
205
206
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.hypervisor
3
- Version: 3.12.dev2
3
+ Version: 3.13
4
4
  Summary: A Dissect module implementing parsers for various hypervisor disk, backup and configuration files
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -61,4 +61,3 @@ license-files = ["LICENSE", "COPYRIGHT"]
61
61
  include = ["dissect.*"]
62
62
 
63
63
  [tool.setuptools_scm]
64
- local_scheme = "no-local-version"
@@ -4,7 +4,7 @@ envlist = lint, py3, pypy3
4
4
  # requires if they are not available on the host system. This requires the
5
5
  # locally installed tox to have a minimum version 3.3.0. This means the names
6
6
  # of the configuration options are still according to the tox 3.x syntax.
7
- minversion = 4.2.4
7
+ minversion = 4.4.3
8
8
  # This version of virtualenv will install setuptools version 65.5.0 and pip
9
9
  # 22.3. These versions fully support python projects defined only through a
10
10
  # pyproject.toml file (PEP-517/PEP-518/PEP-621)