0.4.4 released

udevil 0.4.4 has been released with the following changes:

  • udevil.conf includes new default/allowed options for exfat

  • udevil.conf removes ip=* from the default allowed_options_ftpfs setting.

  • git-style /** suffix is now supported for some udevil.conf patterns. This accepts a /** suffix (only) for the allowed_files, forbidden_files, and allowed_media_dirs patterns. No other wildcard may be used in the pattern when this suffix is used. No other use of ** (or */) is accepted. See the updated comments in udevil.conf for usage. For input on this change see issue #37.

  • IPV6 literal hosts (eg [::1]) now pass through the parsing with square brackets retained, and a problem mounting cifs with an IPv6 literal host has been corrected.

  • udevil's build system now accepts configure option --sysconfdir to change the location of /etc for the installation. Note that this works independently of --prefix. Thanks to OmegaPhil for his work on this.

  • udisks2 compatibility: replace use of /run/media/$USER with /media/$USER. udevil will now create /media/$USER on demand. /run/media/$USER may still be used as a media dir, but will not be created automatically.

  • udisks2 compatibility: when setfacl fails when auto-creating /media/$USER, user:root 0700 permissions will be used as a fallback.

  • udevil 0.4.4 includes devmon 1.1.8 with the following changes:

    • A problem which caused no error popup to be shown when unmounting failed (eg when using --unmount-removable) has been corrected.

    • A problem which caused invalid values to be shown for %d %l in --exec-on-unmount commands has been corrected - these variables are now cleared.

    • --exec-on-unmount commands will now generally run for devices mounted by devmon during startup (but as before, not for devices mounted before devmon was started).

0.4.3 released

udevil 0.4.3 simply corrects a broken configuration file which shipped with 0.4.2, which prevented automounting of vfat and ntfs filesystems by default. This problem did not affect upgrades.

0.4.2 released

udevil 0.4.2 includes the following changes:

  • Official source tarball and other packages on Github are now located in the pkg branch.

  • A problem which caused udevil to fail to identify an empty optical drive as optical has been corrected. (This misidentification caused no known problems because it only affected drives with no media in them.)

  • For vfat, ntfs, msdos, and umsdos filesystems, default option fmask=0133 is now used in the default udevil.conf to improve default security. (Upgrading will not automatically change your installed udevil.conf.)

  • udevil 0.4.2 includes devmon 1.1.7:

    • devmon option --enumerate-device-files has been added to list known devices

    • mounted partition detection now includes raid /dev/md* devices

  • Translations have been updated, and new translations have been added for Spanish, French, Polish, and Swedish. Much thanks to translators! You too can help to translate udevil.

  • The provided Debian build-from-source packages now require libudev0 OR libudev1 instead of just libudev0. This allows them to work on older and newer versions of Debian (at least lenny and newer).

  • udevil's build system has been updated for automake 1.14

For Debian/Ubuntu users, Mateusz Łukasik's SpaceFM PPA includes udevil. udevil is also waiting in Debian's 'new queue' for eventual inclusion in Debian's repositories. Much thanks to Mateusz Łukasik for his Debian packaging efforts.

Upcoming Changes:

Thanks to some work by udevil and SpaceFM contributor OmegaPhil, udevil will soon have a manpage. An incomplete PO template of this is already available on the Transifex server for translators, and that will be updated in stages as the manual is completed. The manpage is not quite in udevil's next branch, but you can follow the progress in this issue, add your input, and report problems. Thanks for translating!

0.4.1 released

This minor maintenance release includes the following changes:
  • udevil has been added to the cloud-based Transifex translation server, making it much easier for translators (anyone) to help translate using their online editor. See the new wiki page for translator instructions.

  • Thanks to Matteo Bernardini for a complete new Italian translation, Vladimir Kudrya for an updated Russian translation, and Delix and jup for a partial German translation.

  • devmon 1.1.6, included with udevil 0.4.1, has been updated to handle hyphens in device node names.

  • Compile errors generated by make option -Werror=format-security have been cleared.

  • An update-pot script has been added to the po subdirectory for automatic creation of udevil.pot.

Also, SpaceFM with udevil is now the default file manager in ArchBang, a lightweight Arch Linux system combined with the Openbox window manager.

Mateusz Łukasik's Lubuntu PPA includes SpaceFM and udevil packages. Mateusz is also the new official Debian packager for SpaceFM and udevil and is working on including official packages in Debian's repos (not yet available, except in mentors spacefm and udevil). Monitor the SpaceFM Debian wiki for updates.

0.4.0 released

udevil 0.4.0 includes the following changes:
  • Support for WebDAV has been added, which allows mounting of http:// and https:// URLs via davfs2 (a new optional udevil dependency). To use this support, install davfs2, add "davfs" to allowed_types in udevil.conf, and add the following line to udevil.conf if not already present:
        default_options_davfs = nosuid, noexec, nodev, uid=$UID, gid=$GID
  • A problem in devmon which caused --exec-on-drive to fail to execute when devmon was used with pmount and without udevil has been corrected in devmon 1.1.5 (included with udevil).

  • A crash caused by specifying a network fs type without a protocol has been corrected.

  • udevil now creates /run if needed when creating /run/media/$USER on demand

  • The provided build-from-source Debian packages use a longer mktemp X template to correct problems installing on Ubuntu.

  • The debian/ directory in the source tree has been moved to distros/debian/ to remove conflicts with official Debian packaging (which is reportedly underway). Please see the updated README file for instructions on creating a deb package.

  • The SpaceFM Wiki has been updated to include a distro information page for both SpaceFM and udevil, allowing packagers and users to keep information for their distro up-to-date.
Also, SpaceFM with udevil is now the default file manager in the latest release of ArchPup (13.2), the new Debian sid-based distro VSIDO, and will be the new default file manager in the upcoming release of SliTaz.

0.3.6 released - UPGRADE RECOMMENDED

A routine review of security policies in udevil has been conducted, and several changes were made to harden udevil against known mount helper exploits:
  • A potential vulnerability based on a symlink race condition when mounting iso files has been closed. In theory, this could have allowed an attacker to fashion a custom process to interfere with the filesystem while udevil was checking and mounting the file, resulting in the ability to mount an arbitrary device. Due to the custom process and precision timing required, the risk from this potential vulnerability being successfully exploited in udevil was low and there are no known implementations of such an attack against udevil.

  • udevil now places additional restrictions on the mounting of iso files: remounting a file is disallowed, and files are always mounted ro. These were deemed prudent due to the fact that iso files may be user-owned.

  • A warning has been added to the default udevil.conf file discouraging allowed_devices outside of /dev or in /dev/shm. If you do want to mount devices elsewhere, be sure their parent directory is owned and writable only by root.

  • A secondary path canonicalization has been added to harden udevil against general symlink attack methods. These can potentially impact udevil if udevil.conf is configured in an unsafe way, such as allowing user-owned media or device directories (which udevil.conf warns against). This enhancement helps protect the system from exploits in such a use case.
Due to the above security enhancements, upgrading is recommended.

In addition, firecat53 contributed an addition to devmon's provided systemd service file which adds a DISPLAY=:0 environment variable for devmon popups. (systemd is not required or used directly by udevil or devmon - these files are provided for convenience for those wishing to start devmon via systemd.)

0.3.5 released

  • fix ftpfs attempt to mount 'none' if curlftpfs is not installed
  • handle mount point trailing spaces
  • trim spaces on automatic mount point creation from label
  • default udevil.conf now allows type 'file' by default (in allowed_types)
  • Russian translation updated - thanks to Vladimir Kudrya and new translator Vladimir Lomov

0.3.4 released

  • workaround for btrfs moint point detection
  • udevil can now be built on debian stable (squeeze)
  • by default, systemd service files for the devmon daemon are installed (but not started automatically), or use configure option --disable-systemd (Thanks to GutenYe for providing these files)
  • devmon 1.1.4, included with udevil, can now use spacefm or zenity to show popup dialogs
  • SlackBuilds.org now includes udevil (Thanks to Binh Nguyen for Slackware package maintenance)

0.3.3 released

udevil 0.3.3 includes the following changes:
  • A problem passing a cifs password due to quoting has been corrected
  • most UTF-8 characters are now allowed in options
  • The default udevil.conf adds utf8 to default_options_iso9660/ntfs/vfat
  • antiX-12 base and full includes spacefm and udevil

0.3.2 released

This maintenance release includes:
  • udevil now allows unmounting of qualified media which has already been ejected even if there is no user entry in fstab (#6 #7)

  • devmon 1.1.3, included with udevil 0.3.2, automatically unmounts discs when they are ejected, and also cleans udevil mount points when another process unmounts a udevil-mounted device

  • udevil now accepts a workgroup for smb mounting using the URL form smb://WORKGROUP/user@sys.domain

  • A specified ftp username and password are now passed as an option to curlftpfs

  • An email address is now acceptable as a network username

  • The default udevil.conf no longer includes option ro in default_options_udf. (Note that this may cause mount to issue a normal 'mounted read-only' warning when mounting read-only media.)

0.3.1 released

udevil is now ready for translation (see TRANSLATE). Thanks to Vladimir Kudrya for providing an initial Russian translation!

devmon has been updated to 1.1.2. It will now automatically run 'udevil clean' to remove unused device mount points when a device is removed, in case it is unmounted by other means (udevil clean is only run if udevil is devmon's current mount program in use).

Some fixes for guest mounts on smb are included - udevil will first try a guest mount, then a user mount.

ssh now passes any specified port to sshfs, and will specify the current user if none is specified.

A default_options_ntfs line has been added to the default udevil.conf

Translation independent numbers have been added to messages.

udevil in Arch Linux

udevil has been added to the Arch Linux [community] repository (i686 and x86_64). Much thanks to Bartłomiej Piotrowski for his work packaging udevil and spacefm for Arch!

0.3.0 released

  • A problem mounting smb shares caused by the username being quoted has been corrected.
  • The mount point name when mounting a network now includes the share path
  • option 'flush' is now allowed in the default udevil.conf

0.2.9 released

udevil can now mount and unmount tmpfs and ramfs filesystems, treating them like removable drives. To allow this you need to add tmpfs or ramfs to udevil.conf's allowed_types. Also, see the new default udevil.conf and add these lines:

    default_options_tmpfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
    default_options_ramfs = nosuid, noexec, nodev, noatime, uid=$UID, gid=$GID
To make a ram drive:
    udevil mount tmpfs
A problem with building a udevil deb package has been corrected, and a problem where mounting with udevil in Parted Magic caused double mtab entries to be added has been corrected.

This update changes some default and allowed options for nfs, cifs, and smbfs in the default udevil.conf.

udevil is now included with SpaceFM by default in Parted Magic.

The upcoming antiX-12 base and full will come with SpaceFM and udevil installed.

udevil now in Gentoo's portage tree

Gentoo now includes udevil in its portage tree - thanks to maintainer hasufell and proxy maintainer Armageddon.

0.2.8 released
  • udevil can now mount ssh:// URLs if sshfs is installed
  • smb:// URLs are now mounted with fstype cifs by default instead of smbfs. If upgrading, you may need to add cifs to allowed_fstypes in udevil.conf. If you prefer smbfs, use smbfs:// or specify -t smbfs
  • A problem which caused a 'denied' message when adding mount option uid= to the command line has been corrected
  • the default udevil.conf has been updated, adding sshfs options and adding utf8 to cifs

0.2.7 released

With this update, udevil first tries to mount or unmount devices as the current user earlier under some conditions (such as no mount point specified). For example, this helps udevil to unmount an optical drive when the media has already been removed (if the device is in fstab). This means that for devices in fstab, settings in udevil.conf have no effect (since it is like the user running mount or umount directly without udevil). The comments in the default udevil.conf have been updated to reflect this.

This change also affects how udevil responds when the root user runs it. root can now unmount any device, and can mount devices in fstab, regardless of udevil.conf settings. In other cases the root user is still limited by udevil.conf. (Limitations on the root user in udevil.conf provide no security as the root user can do anything anyway, but allow the admin to set safer uses for the root user using udevil, to prevent accidental use as root.)

0.2.6 released

This update corrects a problem udevil had canonicalizing some paths which resulted in permission denied mounting some files. Also, the denied message on an already mounted file has been made more informative to work better with spacefm >0.7.7 when mounting ISO files.

0.2.5 released

This update corrects two problems building and installing a debian package

0.2.4 released

  • udevil can now unmount qualified removed devices (in case a device is not unmounted before being unplugged)
  • devmon 1.1.1 will attempt to unmount a device if removed and still in listed mtab
  • devmon 1.1.1 will use pmount if installed before reverting to udisks (as udisks is more likely to fail due to 'not authorized' errors and configuration problems)
  • 'Mounted at...' messages are now written to stdout instead of stderr
  • the default udevil.conf now mounts iso9660 & udf with the 'ro' option to prevent read-only warnings from mount
  • udevil no longer logs 'read config' unless it reads a user-specific conf file (udevil-user-USERNAME.conf)

0.2.3 released

  • udevil now creates the directory /run/media/$USER automatically on demand if it is the default allowed media directory, or if the user specifies it as a mount point. This is due to the fact that /run/media isn't a permanent directory. /media is still the default in udevil.conf. If you want only the user who mounted a device to have access to it and be allowed to unmount it, specify /run/media/$USER as the first directory in allowed_media_dirs.
  • The option --with-setfacl-prog=PATH has been added to configure to allow specifying a custom location for setfacl (used by udevil to set permissions on /run/media/$USER). You can also specify the location in udevil.conf as setfacl_program=PATH. If setfacl isn't available or fails, udevil will fall back to 'rwxr-x-r-x' permissions on /run/media/$USER.
  • The Arch Linux udevil-git AUR package now should not overwrite udevil.conf, creating pacorig or pacsave instead.
  • Note that when upgrading, the suid bit will be reset on /usr/bin/udevil (even if you unset it). This change may be prevented in a future release, but for now if you're using udevil without suid, remember to unset it again after upgrading.

0.2.2 released

This update fixes a problem udevil had stat-ing large IOS files (>2GB) on 32 bit systems, and also adds the ability to specify relative paths for files, devices, and mount points.

0.2.1 released

0.2.1 adds an updated version of the devmon automounting daemon, which is now distributed with udevil. If you already have a devmon package installed, remove it before installing or upgrading udevil. The udevil packages for Debian and Arch now provide and conflict with 'devmon'.

devmon 1.1.0 adds support for udevil, udisks2, and pmount. devmon's new requirements:

    devmon With Recommends
    any version udisks1 zenity
    1.1.0 and later udevil (set suid) eject zenity enable polling
    1.1.0 and later udevil + udisks1 eject zenity
    1.1.0 and later udevil + udisks2 eject zenity
    1.1.0 and later udevil + pmount eject zenity enable polling
udevil or udisks v1 is required for devmon's device monitoring. devmon cannot be used with only udisks v2 or pmount alone. For devmon mounting, udevil does not need to be run suid if pmount, udisks v1, or udisks v2 is installed.

devmon's help page is still located here.

0.2.0 initial release

This is a very early release for testing purposes. Please test this version of udevil carefully before relying on its behavior. See release announcement.