dissect.target 3.19.dev51__py3-none-any.whl → 3.19.dev53__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,5 @@
1
1
  from __future__ import annotations
2
2
 
3
- from typing import Optional
4
-
5
3
  from dissect.target.filesystem import Filesystem
6
4
  from dissect.target.plugin import export
7
5
  from dissect.target.plugins.os.unix.bsd._os import BsdPlugin
@@ -14,13 +12,13 @@ class FreeBsdPlugin(BsdPlugin):
14
12
  self._os_release = self._parse_os_release("/bin/freebsd-version*")
15
13
 
16
14
  @classmethod
17
- def detect(cls, target: Target) -> Optional[Filesystem]:
15
+ def detect(cls, target: Target) -> Filesystem | None:
18
16
  for fs in target.filesystems:
19
- if fs.exists("/net") or fs.exists("/.sujournal"):
17
+ if fs.exists("/net") and (fs.exists("/.sujournal") or fs.exists("/entropy")):
20
18
  return fs
21
19
 
22
20
  return None
23
21
 
24
22
  @export(property=True)
25
- def version(self) -> Optional[str]:
23
+ def version(self) -> str | None:
26
24
  return self._os_release.get("USERLAND_VERSION")
@@ -1,5 +1,6 @@
1
+ from __future__ import annotations
2
+
1
3
  import logging
2
- from typing import Optional
3
4
 
4
5
  from dissect.target.filesystem import Filesystem
5
6
  from dissect.target.helpers.network_managers import (
@@ -8,6 +9,8 @@ from dissect.target.helpers.network_managers import (
8
9
  )
9
10
  from dissect.target.plugin import OperatingSystem, export
10
11
  from dissect.target.plugins.os.unix._os import UnixPlugin
12
+ from dissect.target.plugins.os.unix.bsd.osx._os import MacPlugin
13
+ from dissect.target.plugins.os.windows._os import WindowsPlugin
11
14
  from dissect.target.target import Target
12
15
 
13
16
  log = logging.getLogger(__name__)
@@ -20,17 +23,13 @@ class LinuxPlugin(UnixPlugin, LinuxNetworkManager):
20
23
  self.network_manager.discover()
21
24
 
22
25
  @classmethod
23
- def detect(cls, target: Target) -> Optional[Filesystem]:
26
+ def detect(cls, target: Target) -> Filesystem | None:
24
27
  for fs in target.filesystems:
25
28
  if (
26
- fs.exists("/var")
27
- and fs.exists("/etc")
28
- and fs.exists("/opt")
29
- or (fs.exists("/sys") or fs.exists("/proc"))
30
- and not fs.exists("/Library")
31
- ):
29
+ (fs.exists("/var") and fs.exists("/etc") and fs.exists("/opt"))
30
+ or (fs.exists("/sys/module") or fs.exists("/proc/sys"))
31
+ ) and not (MacPlugin.detect(target) or WindowsPlugin.detect(target)):
32
32
  return fs
33
- return None
34
33
 
35
34
  @export(property=True)
36
35
  def ips(self) -> list[str]:
@@ -68,7 +67,7 @@ class LinuxPlugin(UnixPlugin, LinuxNetworkManager):
68
67
  return self.network_manager.get_config_value("netmask")
69
68
 
70
69
  @export(property=True)
71
- def version(self) -> str:
70
+ def version(self) -> str | None:
72
71
  distrib_description = self._os_release.get("DISTRIB_DESCRIPTION", "")
73
72
  name = self._os_release.get("NAME", "") or self._os_release.get("DISTRIB_ID", "")
74
73
  version = (
@@ -78,10 +77,9 @@ class LinuxPlugin(UnixPlugin, LinuxNetworkManager):
78
77
  )
79
78
 
80
79
  if len(f"{name} {version}") > len(distrib_description):
81
- return f"{name} {version}"
80
+ distrib_description = f"{name} {version}"
82
81
 
83
- else:
84
- return distrib_description
82
+ return distrib_description or None
85
83
 
86
84
  @export(property=True)
87
85
  def os(self) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.target
3
- Version: 3.19.dev51
3
+ Version: 3.19.dev53
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
@@ -206,7 +206,7 @@ dissect/target/plugins/os/unix/bsd/citrix/__init__.py,sha256=47DEQpj8HBSa-_TImW-
206
206
  dissect/target/plugins/os/unix/bsd/citrix/_os.py,sha256=u9agLXoMt_k-nARtSJ78_-ScJae4clZhkqFiEVsB9b8,7910
207
207
  dissect/target/plugins/os/unix/bsd/citrix/history.py,sha256=cXMA4rZQBsOMwd_aLbXjW_CAEzNnsr2bUZB9cPufnQo,4498
208
208
  dissect/target/plugins/os/unix/bsd/freebsd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
209
- dissect/target/plugins/os/unix/bsd/freebsd/_os.py,sha256=Vqiyn08kv1IioNUwpgtBJ9SToCFhLCsJdpVhl5E7COM,789
209
+ dissect/target/plugins/os/unix/bsd/freebsd/_os.py,sha256=_r8htCB6wWNAU1siGKu4SSsKxSNR1KZ5j0mCF0ZAJDg,782
210
210
  dissect/target/plugins/os/unix/bsd/ios/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
211
211
  dissect/target/plugins/os/unix/bsd/ios/_os.py,sha256=VlJXGxkQZ4RbGbSC-FlbR2YWOJp2kLf9nrJaWCURdW4,1193
212
212
  dissect/target/plugins/os/unix/bsd/openbsd/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -219,7 +219,7 @@ dissect/target/plugins/os/unix/esxi/_os.py,sha256=s6pAgUyfHh3QcY6sgvk5uVMmLvqK1t
219
219
  dissect/target/plugins/os/unix/etc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
220
220
  dissect/target/plugins/os/unix/etc/etc.py,sha256=px_UwtPuk_scD-3nKJQZ0ao5lus9-BrSU4lPZWelYzI,2541
221
221
  dissect/target/plugins/os/unix/linux/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
222
- dissect/target/plugins/os/unix/linux/_os.py,sha256=n6VkfGYIdZUxcK2C1aPDUY_ZZQEIl0GkrpvIKeguv5o,2812
222
+ dissect/target/plugins/os/unix/linux/_os.py,sha256=DF4UV-s6XupV8bWck2Mkm4seFRb0oKjzeM-PtU8OV0k,2940
223
223
  dissect/target/plugins/os/unix/linux/cmdline.py,sha256=AyMfndt3UsmJtoOyZYC8nWq2GZg9oPvn8SiI3M4NxnE,1622
224
224
  dissect/target/plugins/os/unix/linux/environ.py,sha256=UOQD7Xmu754u2oAh3L5g5snuz-gv4jbWbVy46qszYjo,1881
225
225
  dissect/target/plugins/os/unix/linux/iptables.py,sha256=qTzY5PHHXA33WnPYb5NESgoSwI7ECZ8YPoEe_Fmln-8,6045
@@ -356,10 +356,10 @@ dissect/target/volumes/luks.py,sha256=OmCMsw6rCUXG1_plnLVLTpsvE1n_6WtoRUGQbpmu1z
356
356
  dissect/target/volumes/lvm.py,sha256=wwQVR9I3G9YzmY6UxFsH2Y4MXGBcKL9aayWGCDTiWMU,2269
357
357
  dissect/target/volumes/md.py,sha256=7ShPtusuLGaIv27SvEETtgsuoQyAa4iAAeOR1NEaajI,1689
358
358
  dissect/target/volumes/vmfs.py,sha256=-LoUbn9WNwTtLi_4K34uV_-wDw2W5hgaqxZNj4UmqAQ,1730
359
- dissect.target-3.19.dev51.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
360
- dissect.target-3.19.dev51.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
361
- dissect.target-3.19.dev51.dist-info/METADATA,sha256=tFBvl52FFF9deegiZtkHhQrLf2V7kdsCEg1EFm6j-co,12897
362
- dissect.target-3.19.dev51.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
363
- dissect.target-3.19.dev51.dist-info/entry_points.txt,sha256=BWuxAb_6AvUAQpIQOQU0IMTlaF6TDht2AIZK8bHd-zE,492
364
- dissect.target-3.19.dev51.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
365
- dissect.target-3.19.dev51.dist-info/RECORD,,
359
+ dissect.target-3.19.dev53.dist-info/COPYRIGHT,sha256=m-9ih2RVhMiXHI2bf_oNSSgHgkeIvaYRVfKTwFbnJPA,301
360
+ dissect.target-3.19.dev53.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
361
+ dissect.target-3.19.dev53.dist-info/METADATA,sha256=9Bx6bb3QUXpRP7XxDfw0BeR-YI59jgL9i0eKCzVGrY0,12897
362
+ dissect.target-3.19.dev53.dist-info/WHEEL,sha256=ixB2d4u7mugx_bCBycvM9OzZ5yD7NmPXFRtKlORZS2Y,91
363
+ dissect.target-3.19.dev53.dist-info/entry_points.txt,sha256=BWuxAb_6AvUAQpIQOQU0IMTlaF6TDht2AIZK8bHd-zE,492
364
+ dissect.target-3.19.dev53.dist-info/top_level.txt,sha256=Mn-CQzEYsAbkxrUI0TnplHuXnGVKzxpDw_po_sXpvv4,8
365
+ dissect.target-3.19.dev53.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.0.0)
2
+ Generator: setuptools (74.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5