Imagemounter

Latest version: v3.1.0

Safety actively analyzes 613705 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

3.1.0

------------------
New features:

* Support for exFAT filesystems (contributed by ldgriffin)
* Addition of ``force_clean`` method to :class:`ImageParser`
* Addition of :option:`--skip`, to complement :option:`--only-mount`
* Improved support for UFS / BSD volumes

Bugfixes:

* Updated :option:`--keys` to not parse commas (as these may be part of the key themselves) and properly support
the asterisk key.
* Several fixes for ``fsstat`` call, including actually killing it after 3 seconds and optimizations by passing
in the correct FS type, making mounting actually a lot faster.
* Fixes for path expanding (contributed by ruzzle)
* Re-index loopbacks prior to unmounting in the :class:`Unmounter` class (contributed by ldgriffin)
* Use ``--sizelimit`` for various mounts, for support in newer kernel versions (contributed by ldgriffin)
* Improved support for non-ASCII volume labels
* The parted detection method does not hang anymore when parted requests input
* Fix for communication of LUKS keys to the ``cryptsetup`` command
* Fixes for reconstruction when multiple roots exist

3.0.1

------------------
* Add support for qcow2 (contributed by Jarmo van Lenthe)
* Allow use of lowercase e01 file extension when mounting a directory in imount CLI (contributed by sourcex)
* Add ADS support for NTFS volumes (contributed by Patrick Leedom)
* Ability to lazily call fusermount -uz when unmounting (contributed by Patrick Leedom)

* Fix regression in mounting LV volumes; the path was incorrectly detected in :func:`get_raw_path` for these volumes.
* Fix regression in detection of single volumes that would be detected as DOS/MBR based on file type.

3.0.0

------------------
This new release includes several backwards-incompatible changes, mostly because features were removed from the public API or have been renamed to obtain a more consistent API.

It was released after a long time of development, and does not even contain all features that were originally planned to go into this release, but it contains some important bugfixes that warranted a release.

New major features:

* Add volume shadow copy support for NTFS
* Add BDE (Bitlocker) support
* Addition of :option:`--keys` CLI argument and corresponding argument to Volume class, allowing to specify key material for crypto mounts, supporting both BDE and LUKS.
* (Experimental) support for volume systems inside a volume. This is useful when e.g. a LVM volume contains in itself a MBR.
* A split between detection and initialization of volumes has been made. The basic way to access volumes as calling :func:`init`, but that mounted all volumes immediately. Now, ``detect_*`` methods have been added.
* Support ``blkid`` to retrieve FS type info
* Support for Linux RAID volumes
* (Still in development) interactive console, which will eventually become the primary means to interact with imagemounter.

Bugfixes:

* Calling :func:`init` will not automatically mount the volume when it is not ``alloc``.
* Fix a bug where ``.e01`` files (lowercase) would not be recognized as Encase
* Fixed support for newer versions of ``mmls``
* Fixed support for pytsk3 under Python 3 (contributed by insomniacslk)
* Fixed support for EnCase v7 (EX01) image files (contributed by pix)
* Improved detection of several volume types
* :attr:`index` is now always ``str``
* :attr:`Volume.size` is now always ``int``
* Improved the unmounter with generic loopback support

Removed and modified features:

* Stopped providing :const:`None` and :const:`False` results when things go wrong for most methods. Instead, numerous exceptions have been added. These exceptions should be catched instead, or when using ``mount_volumes`` or ``init``, you can specify ``swallow_exceptions`` (default) to restore previous behaviour. This is useful, since iteration will continue regardless of exceptions.
* Moved the attributes ``fstypes``, ``vstypes``, ``keys``, ``mountdir`` and ``pretty`` to the ``ImageParser`` instance, so it does not need to get passed down through the ``*args`` hack anymore. For instance, ``fstypes`` has been moved; the dict will be inspected upon Volume instantiation and stored in the ``fstype`` attribute. Other arguments and attributes have been eliminated completely, or have been replaced by arguments to specific methods.
* Added an intermediary class :class:`VolumeSystem`. Both :class:`Volume` and :class:`Disk` now use this (iterable) base class in their :attr:`volumes` attribute. If you relied on :attr:`volumes` being a ``list``, you should now use ``list(volumes)``. If you relied on indexing of the attribute, you could now also use ``disk[0]`` or ``volume[0]`` for finding the correct volume index. :attr:`volume_source` was moved to this class, as have :attr:`vstype` and :attr:`volume_detector`.

* Changes to the CLI:
* Removed :option:`--fsforce` and :option:`--fsfallback`. Use ``*`` and ``?`` as fstypes instead for the same effect. This should make the CLI more sensible, especially regarding the :option:`--fsforce` argument. The default FS fallback is still ``unknown``, which can only be overridden by specifying ``--fstypes=?=none``. (You can now specify ``--fstypes=TYPE``, which equals to ``--fstypes=*=TYPE``)
* Removed ``--stats`` and ``--no-stats``. These only complicated things and ``fsstat`` has been working fine for years now.
* Removed ``--raid`` and ``--no-raid`` (due to Volume RAID support)
* Removed ``--disktype`` and ``--no-disktype``.
* Renamed ``--method`` to ``--disk-mounter``.
* Renamed ``--detection`` to ``--volume-detector``.
* Renamed ``--vstype`` to ``--vstypes``, now accepting a dict, similar to ``--fstypes``
* Moved the ``imount.py`` file into a new ``cli`` module, where also a new experimental shell-style CLI is under development.

* Changes specific to :class:`ImageParser`:
* Added ``add_disk`` and made ``paths`` optional in constructor.
* Added indexing of the `ImageParser` and added ``get_volume_by_index`` method.
* Removed ``mount_single_volume`` and ``mount_multiple_volumes``. Use ``init_volumes`` instead, or use a custom loop for more control.
* Dropped support for a single string argument for ``paths`` in ``__init__``. Additionally, dropped the ``paths`` attribute entirely.

* Changes specific to :class:`Disk`:
* Renamed ``method`` to ``disk_mounter`` (see also CLI)
* Removed ``name``, ``avfs_mountpoint`` and ``md_device`` from public API.
* Removed Linux RAID Disk support. Instead, mount as a single volume, with the type of this volume being RAID. This greatly simplifies the :class:`Disk` class. (This means that :attr:`loopback` has also been dropped from Disk)
* Added ``detect_volumes`` method, which can be used to detect volumes.
* Removed most ``mount_*`` methods. Moved ``mount_volumes`` to ``init_volumes``. Functionality from the other methods can be restored with only a few lines of code.
* Removed the need for the rather obsure ``multifile`` attribute of ``mount``. Only ``xmount`` actually required this, so we just implicitly use it there.
* Moved the ``type`` attribute to a method ``get_disk_type``.

* Changes specific to :class:`Volume`:
* Renamed ``get_raw_base_path`` to ``get_raw_path``
* Renamed ``get_size_gib`` to ``get_formatted_size``
* Removed ``get_magic_type``, ``fill_stats``, ``open_jffs2``, ``find_lvm_volumes`` and ``open_luks_container`` from public API.
* Removed the ``*_path``, ``carvepoint`` and ``bindmountpoint`` attributes from the public API. For ``carvepoint``, the ``carve`` method now returns the path to the carvepoint. All data has been moved to the private ``_paths`` attribute. The ``mountpoint`` and ``loopback`` attributes are kept.
* Removed ``fsforce`` and ``fsfallback`` arguments and attributes from Volume (see also CLI)
* Added ``init_volume``, which only mounts the single volume. It is used by ``init`` and the preferred way of mounting a single volume (instead of using ``mount``)
* Moved several attributes of :class:`Volume` to a new :attr:`info` attribute, which is publicly accessible, but its contents are not part of a stable public API.

* Changes specific to :class:`VolumeSystem` (if you consider it on par with the functionality moved from Disk):
* Renamed ``detection`` to ``volume_detector`` (see also CLI)
* Added a :func:`VolumeSystem.detect_volumes` iterable, which is the basic functionality of this class.
* Moved ``mount_single_volume`` code from :class:`Disk` to this class, adding the ``single`` volume detection method. The directory detection method has been incorporated in this new method.

* Dropped support for Python 3.2, since everyone seems to be doing that these days.

2.0.4

------------------
* Add HFS+ support

2.0.3

------------------
* Remove error prefix (``[-]``) from some of the warnings
* Do not warn about using unknown as fsfallback anymore
* Also work properly with the ``python-magic`` system package (in addition to the totally different ``python-magic`` PyPI package)
* *vmware-mount* Add ``-r`` to vmware-mount for readonly mounts
* *ntfs* Add force to mount options

2.0.2

------------------
* Bugfix in :option:`--check` regarding the ``python-magic`` module
* *vmware-mount* Fix vmware-mount support

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.