[X2Go-Commits] [x2gothinclient] 01/01: usbmount/x2gousbmount: add support for (V)FAT, NTFS, HFS, HPFS and EXT* (via fuse-ext2) file systems.
git-admin at x2go.org
git-admin at x2go.org
Tue Nov 21 21:51:02 CET 2017
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2gothinclient.
commit ef21704474f40b20eba2189a6846986d8aa479fc
Author: Stefan Baur <X2Go-ML-1 at baur-itcs.de>
Date: Tue Nov 21 21:50:25 2017 +0100
usbmount/x2gousbmount: add support for (V)FAT, NTFS, HFS, HPFS and EXT* (via fuse-ext2) file systems.
---
debian/changelog | 2 ++
usbmount/x2gousbmount | 41 +++++++++++++++++++++++++++++++++++++++--
2 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 02d54d8..347e1c4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -89,6 +89,8 @@ x2gothinclient (1.5.0.0-0x2go1) UNRELEASED; urgency=low
- Fix desktop/thinclient mode detection. Fixes: #1136.
- Set default username to x2gothinclient for MATE minidesktop builds, even
for X2GO TCE Live builds.
+ - Add support for (V)FAT, NTFS, HFS, HPFS and EXT* (via fuse-ext2) file
+ systems.
[ Mark Pedersen-Cook ]
* debian/po:
diff --git a/usbmount/x2gousbmount b/usbmount/x2gousbmount
index 12d8535..16fb86b 100755
--- a/usbmount/x2gousbmount
+++ b/usbmount/x2gousbmount
@@ -142,9 +142,46 @@ if ( check_x2gothinclientmode() || ( -x "/etc/x2go/x2gothinclient-minidesktop_st
mkdir("/media/$name/$ldev");
# mount the USB device
- if(system("mount $dev /media/$name/$ldev -o uid=$user,sync,uni_xlate")==0)
+ # sync is supported by all file systems
+ # uid is supported by vfat (via fat),ntfs,hfs,hpfs
+ # uni_xlate is supported by vfat,ntfs
+ # we must not trigger on iso9660 and udf, or else hybrid USB media
+ # would only cause a mount of the iso9660 raw device,
+ # blocking the mount of individual partitions
+ # real optical media ->x2gocdmanager/x2gothinclient-cdmanager package
+ if(system("mount -tvfat,ntfs $dev /media/$name/$ldev -o uid=$user,sync,uni_xlate")==0)
{
- syslog('notice', "USB device $name ($ldev) successfully mounted");
+ syslog('notice', "USB device $name ($ldev) successfully mounted (probably vfat or ntfs)");
+ # if mounted, inform x2goclient about it...
+ system("touch $mntdir/$ldev.mounted");
+ open (D,">",expand_filename("~$user/export/$name.$ldev"));
+ print D "export=/media/$name/$ldev\n";
+ close (D);
+ }
+ elsif(system("mount -t hfs $dev /media/$name/$ldev -o uid=$user,sync")==0)
+ {
+ syslog('notice', "USB device $name ($ldev) successfully mounted (hfs detected)");
+ # if mounted, inform x2goclient about it...
+ system("touch $mntdir/$ldev.mounted");
+ open (D,">",expand_filename("~$user/export/$name.$ldev"));
+ print D "export=/media/$name/$ldev\n";
+ close (D);
+ }
+ elsif(system("mount -t hpfs $dev /media/$name/$ldev -o uid=$user,sync")==0)
+ {
+ syslog('notice', "USB device $name ($ldev) successfully mounted (hpfs detected)");
+ # if mounted, inform x2goclient about it...
+ system("touch $mntdir/$ldev.mounted");
+ open (D,">",expand_filename("~$user/export/$name.$ldev"));
+ print D "export=/media/$name/$ldev\n";
+ close (D);
+ }
+ # We use fuseext2 for read-only EXT* mounts since this driver does not
+ # check the usual file permission hierarchy and allows (read-only)
+ # access to any file on the file system.
+ elsif(system("fuseext2 $dev /media/$name/$ldev -o ro")==0)
+ {
+ syslog('notice', "USB device $name ($ldev) successfully mounted readonly (ext*fs detected)");
# if mounted, inform x2goclient about it...
system("touch $mntdir/$ldev.mounted");
open (D,">",expand_filename("~$user/export/$name.$ldev"));
--
Alioth's /srv/git/code.x2go.org/x2gothinclient.git//..//_hooks_/post-receive-email on /srv/git/code.x2go.org/x2gothinclient.git
More information about the x2go-commits
mailing list