Commit Graph

309 Commits (39579a045da3838a3bc0b443163fbcf5100ae7f6)

Author SHA1 Message Date
Jean-Pierre André c5a11341b0 Removed obsoleted references to utime_omit_ok
When issuing an utimensat as a consequence of utime(2) or utimensat(2),
fuse had temporarily defined a flag utime_omit_ok to identify whether
the file system supports the values UTIME_OMIT and UTIME_NOW to mean
specific timestamp updatings. The flag has been obsoleted and all
file system are now supposed to comply with the convention.
2013-04-22 19:06:49 +02:00
Erik Larsson 7506d8b80b Rename legacy MS_* flags for ntfs_mount with NTFS_MNT_* flags.
The MS_* flags originated from system constants. However the flags
passed to ntfs_mount were really unrelated to the system constants and
many new MS_* flags had to be introduced as different features were
added to the library. Those flags had no counterparts in any system
APIs, so using the same naming scheme is inappropriate.

Instead, let's namespace these flags similarly to what has already been
done in ntfsprogs/libntfs earlier. This avoids any possible conflicts
with system constants.
The values of the flags themselves are kept the same as earlier, so
backward compatibility is retained.
2012-11-07 16:29:48 +01:00
Jean-Pierre André 0b2a85b612 Forced option ro when mounting a read-only device
External devices, such as USB keys, may have a switch to make them
temporarily unwriteable. When such a device is plugged in, mount it
as read-only by default.
2012-09-12 09:47:36 +02:00
Jean-Pierre André 3e4c439520 Fixed the returned files types in readdir()
The type of special files (symlinks, fifos, etc.) was not returned in
readdir() and they appeared wrongly in the field d_type of "struct dirent".
This prevented some applications which relied on d_type (which does
not exist in Solaris) from navigating in an NTFS tree.
2012-08-20 14:34:16 +02:00
Jean-Pierre André fa158031f2 Restored interpreting UTIME_NOW and UTIME_OMIT from external fuse >= 2.9
Use of UTIME_NOW and UTIME_OMIT had been temporarily removed when using
external fuse, because early versions of external fuse 2.9 did not
support them. They can now be restored as they are supported by released
versions of fuse 2.9
2012-08-20 14:24:49 +02:00
Jean-Pierre André f61b34ee2c Ignored permissions when listing xattrs for special files
Special files (FIFOs, SOCKETs, etc.) are not allowed to have user extended
attributes. When listing their extended attributes, return none without
checking whether the calling process is allowed to access these files.
2012-08-20 12:45:21 +02:00
Jean-Pierre André 0f8ef123ea Added inheritance of the set-group-id flag
So far the set-group-id flag could be set in a chmod. This patch enables
the inheritance of the group to files and subdirectories, and the
inheritance of the set-group-id flag to subdirectories.
2012-06-18 12:53:25 +02:00
Jean-Pierre André 93ac6ce3bf Removed the suggestions to use option remove_hiberfile
The suggestion to use option remove_hiberfile was displayed in the
standard help and when a volume is found dirty. As this option may
lead to loss of data, only mention it in the manual, with a proper
warning.
2012-06-18 12:46:21 +02:00
Jean-Pierre André 8f896f112a Added an optional argument (number of seconds) to the option delay_mtime
The option delay_mtime avoid updating the mtime of a file after each
individual updating. With this patch, the frequency of the update can
be adjusted to needs (default 60s). This is mainly useful for big files
which are kept open for a long period (file system images, virtual
computers, etc.)
2012-06-18 12:34:56 +02:00
Jean-Pierre André 1ad9bdad4d Avoided interpreting UTIME_NOW and UTIME_OMIT from external fuse
UTIME_NOW and UTIME_OMIT are needed for implementing utimensat() and
futimens(2), but they cannot yet be used with external fuse.
This patch is to avoid errors if they cannot be used, even with fuse 4.9
2012-03-21 19:26:00 +01:00
Jean-Pierre André e85d986494 Put the device name as the last option
On OpenIndiana the device names have commas, so put it as the last option
to prevent defeating the options parsing.
2012-01-23 18:00:18 +01:00
Jean-Pierre André 08ad3b4977 Mounted with an absolute mount point on OpenIndiana
OpenIndiana requires that the mount points be defined on a full
absolute patch. Give it what it needs.
2012-01-23 17:56:15 +01:00
Jean-Pierre André 528b4303b2 Accepted multiple read-only mounts
Multiple mounts of a partition is now allowed provided they are all
in read-only mode.
2012-01-23 17:31:15 +01:00
Jean-Pierre André c9edd32113 changed error return for user access to trusted xattr
When a user queries an extended attribute in the trusted namespace,
the traditional error return was EPERM. This has been recently changed
to ENODATA. See https://lkml.org/lkml/2011/5/27/199
2012-01-23 17:25:55 +01:00
Jean-Pierre André 59ecea5c80 new : allow compression in default setup
With the default mount options, compression of new files are now done
if the parent directory is marked for compression. The mount option
"compression" is not needed any more, but the option "nocompression"
can be used to disable compression of new files.

The default option also applies to applications using libntfs-3g with
no mount command.
2011-10-20 18:55:32 +02:00
Jean-Pierre André a7c61d83a7 Defined option delay_mtime to delay updates of mtime+ctime
This patch avoid updating the time stamps whenever a file is modified,
by delaying the time stamps updating until the file is closed.
This is mostly useful when the ntfs file system hosts another loop-monted
file system to avoid frequent updates of the time stamps in the outer
file system.
2011-10-07 11:16:23 +02:00
Jean-Pierre André d7926f72d0 Provided support for big writes 2011-07-05 12:17:30 +02:00
Jean-Pierre André 571dbc5784 Fixed device path canonicalization for use by devmapper (basilinya)
For some reason, when the monted device is "/dev/mapper/*", a record
in the form "/dev/dm-*" ends up in /etc/mtab and the device cannot be
unmounted.

The reason is unclear, the /dev/mapper name is not a symlink, and the
function doing the name change is not known. No detailed feedback from
the users having met the issue.

The patch changes the name back to the /dev/mapper name after realpath()
is called, and, if there is an actual change, both the name passed to
ntfs-3g and the one passed to fuse and mount are logged in the hope
of getting a clue about what is happening.

But ntfs-3g is probably not the right place for a fix.
2011-07-05 12:17:12 +02:00
Szaka f246d6ce97 Update ntfs-3g.org references 2011-03-27 15:29:48 +03:00
Jean-Pierre André 3160203c97 Defined option acl to request the use of Posix ACLs 2011-02-08 13:52:12 +01:00
Jean-Pierre André f55f359f4e Moved global options parsing to ntfs-3g_common.c 2011-02-08 13:52:12 +01:00
Jean-Pierre André 461e9f21b8 Moved mount options parsing to ntfs-3g_common.c 2011-02-08 13:52:12 +01:00
Jean-Pierre André a46a395006 Updated copyright notices 2011-02-08 13:52:12 +01:00
Jean-Pierre André e47734baa9 Denied modifications to metadata files 2011-02-08 13:52:11 +01:00
Jean-Pierre André 9ddc70f19b Moved listxattr() to a specific source module 2011-01-17 15:50:25 +01:00
Jean-Pierre André 351aec3f7a Enabled renaming of system extended attributes 2010-10-26 08:59:52 +02:00
Jean-Pierre André a92c57735b Added an extended attribute name for creation time 2010-10-26 08:59:51 +02:00
Jean-Pierre André 13b578d9b1 Added a big endian extended attribute name for attrib and times 2010-10-26 08:59:51 +02:00
Jean-Pierre André e1ef554dd2 Grouped system extended attributes functions into a dedicated module 2010-10-26 08:59:51 +02:00
Jean-Pierre André 1afaf16912 Implemented the sync mount option 2010-10-26 08:59:51 +02:00
Jean-Pierre André ecbc2b9103 Implemented fsync() and fsyncdir() 2010-10-26 08:59:51 +02:00
Jean-Pierre André 23aae785c4 Fixed stat(2) for system files with no data 2010-10-25 12:13:28 +02:00
Jean-Pierre André 270b640b99 Fixed adding options -n --no-mtab needed by automount 2010-09-16 18:44:11 +02:00
Jean-Pierre André 9b129fa1dd Added options -n --no-mtab needed by automount 2010-09-16 15:33:03 +02:00
Jean-Pierre André 66b6a9c219 Fixed checking for already mounted device on non-Linux platforms 2010-08-28 14:02:08 +02:00
Jean-Pierre André acccb62f9f Fixed checking for write errors in setxattr() 2010-07-22 15:03:52 +02:00
Jean-Pierre André 04c561a0d1 Fixed checking whether the device is not already mounted 2010-07-22 14:58:10 +02:00
Jean-Pierre André 776117baf3 Fixed processing of options silent and no_def_opts 2010-07-22 14:52:23 +02:00
Jean-Pierre André 09df7eade5 Fixed creating empty encrypted extended attributes 2010-07-22 14:46:01 +02:00
Jean-Pierre André f2f4e8dc07 Fixed a possible null dereference when creating a stream 2010-06-18 13:59:06 +02:00
Jean-Pierre André 29f760f7e7 renamed option default_permissions to permissions 2010-06-14 14:42:00 +02:00
Jean-Pierre André 15c4d282ce Enable/disable compression according to option 2010-06-03 10:11:42 +02:00
Jean-Pierre André 1eed61e1a9 enabled downsizing compressed files 2010-05-25 10:29:34 +02:00
Jean-Pierre André e3537c3376 reversed default for showing/hiding hidden files 2010-05-25 10:18:20 +02:00
Jean-Pierre André ac070299ac defined an option windows_names to enforce windows names 2010-05-25 10:16:18 +02:00
Jean-Pierre André 2e86428fc0 redefined a default user mapping (a few changes in mount options) 2010-05-25 10:05:10 +02:00
Jean-Pierre André 3745d0a1e3 marked files whose name has a dot initial as "hidden" if option hide_dot_files 2010-05-25 09:58:36 +02:00
Jean-Pierre André 02b11579cc fixed wrong flags when uid/gid are forced in mount options 2010-05-12 09:30:08 +02:00
Jean-Pierre André df8e581464 fixed the condition for executing utime() and utimensat() 2010-04-19 11:10:54 +02:00
Jean-Pierre André b1c051b768 fixed compiler warnings on OpenSolaris 2010-04-19 11:10:01 +02:00
Jean-Pierre André 84c93479d8 fixed a compilation issue with uClibc 2010-04-19 10:53:31 +02:00
Jean-Pierre André 1bb7443eb6 Fixed setting archive bit on file and alternated data stream creation 2010-02-24 12:08:56 +01:00
Jean-Pierre André d9f8647ef9 Fixed enabling permissions when no UserMapping file is found 2010-02-17 11:47:14 +01:00
jpandre d49ac7351c Fixed a bug disabling the Posix ACLs 2010-01-21 18:44:31 +00:00
jpandre 897faa3e54 Set an error code when running unprivileged (Fabian Keil) 2010-01-21 08:11:27 +00:00
jpandre c03b68ca8d Used st_[acm]timespec instead of st_[acm]tim on MacOSX (Erik Larsson) 2010-01-16 18:10:33 +00:00
jpandre 31abc47c7c Secured against use of external fuse not patched for UTIME_NOW 2010-01-16 09:35:24 +00:00
jpandre cac199ebb1 Logged problematic use of uid==0 and gid!=0 2010-01-16 09:29:28 +00:00
jpandre d78add4e8f Developed time stamping up to 100ns resolution 2010-01-04 08:24:44 +00:00
jpandre 17a629229d Developed selective timestamp setting for utimensat(2) 2009-12-23 14:51:07 +00:00
jpandre d75c254771 Fixed a wrong comment 2009-12-19 09:58:26 +00:00
jpandre 6271663b4e Skip extended attribute related functions when not supported locally 2009-12-19 09:20:59 +00:00
jpandre 9f92518396 Grouped permission mode setting in the parameter file 2009-12-18 10:31:42 +00:00
jpandre d9eae2038b Made where permissions are checked easier to select, and logged selection 2009-12-18 09:08:15 +00:00
jpandre d75f69d80e Cached inode data for subsequent use 2009-12-18 08:12:23 +00:00
jpandre c1adbc1787 Implemented getting/setting/removing object ids 2009-12-17 09:07:56 +00:00
jpandre d990f7996c Changed the interfaces to use extended attributes 2009-12-17 08:24:13 +00:00
jpandre 2f8ced2ddd Kept junctions points absolute or relative as specified 2009-12-15 09:25:36 +00:00
jpandre c5c51ec1fe Simplified interfaces for checking permissions 2009-12-14 17:23:12 +00:00
jpandre 758a99ea87 Avoided double copy of dir when closing a file in an open dir 2009-12-10 10:04:53 +00:00
jpandre 2d05631ad1 Fixed renaming to same inode 2009-11-26 13:30:14 +00:00
jpandre ad25d7a0ac Applied patches for Mac OS X (Erik Larsson) 2009-11-18 16:37:15 +00:00
jpandre eb3ec90d80 OS X: implement setchgtime(), it fixes Firefox errors (Erik Larsson) 2009-11-05 11:48:27 +00:00
jpandre 3af7bebe7b Mac OS X Unicode normalization form conversion (Erik Larsson) 2009-11-05 11:40:44 +00:00
jpandre 63ef915ed5 ntfs_fuse_filler: truncate too large filenames on OS X (Erik Larsson) 2009-11-05 11:27:10 +00:00
jpandre 79cc70f23c fix passing buffer after partial read/write (Jean-Pierre Andre, Szabolcs Szakacsits) 2009-11-05 11:24:39 +00:00
jpandre f0ea07fdf3 Fixed ownership of mount point on non-Linux 2009-09-18 19:53:38 +00:00
jpandre 61f7084020 Fixed avoidance of a double opening of an inode in create() 2009-09-18 19:51:10 +00:00
jpandre 12437acea9 Avoided a double opening of an inode in create() 2009-09-18 16:31:46 +00:00
jpandre 31f7abf640 Fixed access control for utime() 2009-09-18 16:28:22 +00:00
jpandre e4e485df64 Fixed a double inode closing in listxattr() 2009-09-18 16:22:22 +00:00
jpandre f59d0e6ec7 Fixed access control in access() calls 2009-09-18 16:20:10 +00:00
jpandre c085f70be1 Developed the removal of a DOS name 2009-08-14 14:46:46 +00:00
jpandre 88473752c5 Allowed creating holes in compressed files 2009-08-11 08:02:59 +00:00
jpandre 8db3f0a2ab Returned EPERM for getting/setting efsinfo without option efs_raw 2009-07-20 13:00:43 +00:00
jpandre 5e650c0c91 Developped getting and setting NTFS times 2009-07-09 15:20:14 +00:00
jpandre 78285e42b4 Reverted setting archive flag on unlinking (only Windows Explorer does it) 2009-07-09 12:28:04 +00:00
jpandre 8af1460957 Fixed setting archive flag in link()/unlink() 2009-07-07 18:54:13 +00:00
jpandre 06e553b04d Fixed permissions of created files when parent directory has a default ACL 2009-07-04 19:14:56 +00:00
jpandre 9a4672ca65 Developped getting and setting DOS names (short 8+3 names) 2009-07-01 19:45:59 +00:00
jpandre 3ddbce3ea6 Changed conditions to activate protection modes 2009-07-01 19:35:04 +00:00
jpandre 278abb9382 Developped handling of Windows archive flag 2009-07-01 19:32:00 +00:00
jpandre 6a54eac8ad Displayed compile-time options when help is requested 2009-06-17 08:06:45 +00:00
jpandre c79b3777ca Implemented backup/restoring of encrypted files (by Martin Bene) 2009-05-20 14:17:31 +00:00
jpandre 1cd46c2241 Fixed errno when setting security or trusted xattr as non-root 2009-05-17 20:13:28 +00:00
jpandre 220883485a Fixed permissions for symlinks when there is no user mapping 2009-05-17 19:59:26 +00:00
jpandre 54f745e3f3 Fixed partial writings for compressed files 2009-04-25 11:56:34 +00:00
jpandre 765e8d3677 Fixed access control to system extended attributes when Posix ACLs are enabled 2009-04-20 15:47:46 +00:00
jpandre 58541b47f9 Checked the actual data format for block map request 2009-04-08 19:04:05 +00:00
jpandre 2fbaecd759 Extended transparent compression support to sequential writing to compressed files 2009-04-03 13:33:24 +00:00