Commit Graph

33 Commits

Author SHA1 Message Date
Jean-Pierre André
d69d2d9a1f Got ready for Posix ACL support in fuse kernel
Following a recent patch to the fuse kernel, the Posix ACL checks can
be done within the kernel instead of having to be done in the file
system, provided lowntfs-3g is used.

This mode is still not used by default until the fuse patch is
released by distributions.
2017-02-11 10:21:07 +01:00
Jean-Pierre André
30ae872b89 Included <paths.h> where useful in fuse-lite
Both fusermount.c and mount_util.c use _PATH_MOUNTED, so they should
include <paths.h>, which provides this definition.
This is required for building with the musl C library.

Contributed by Thomas Petazzoni
2017-02-11 09:08:22 +01:00
Jean-Pierre André
cf6f265069 Switch to using the standard autoconf AC_HEADER_MAJOR macro
Switch to the standard autoconf AC_HEADER_MAJOR macro which takes care
of the ugly details like when to use mkdev.h and when to use sysmacros.h.
(requires <sys/types.h> to be included)
Also include these in all files that use major/minor/makedev funcs.

(Contributed by Mike Frysinger)
2016-05-31 08:33:10 +02:00
Jean-Pierre André
08d3bcb2bf Ported patches to libfuse from the OpenIndiana variant
A few patches had been found useful to the OpenIndiana variant of libfuse
(2.7.6). Port them to libfuse-lite and restrict them to Solaris/OpenIndiana.
2016-05-04 10:15:35 +02:00
Jean-Pierre André
a7ce195489 383 Fixed masks for major and minor in fuse-lite for OpenIndiana
On Solaris/OpenIndiana, the major and minor fields in st_rdev have to
be represented on 14 bits and 18 bits respectively. They must have
the same representation on 32-bit and 64-bit builds as the kernel
and the library do not know the word size of each other.
2016-05-04 10:08:06 +02:00
Jean-Pierre André
fc666cb0b9 Fixed bad test in fuse mount
Apply a fix from the full fuse library
2016-04-06 09:42:16 +02:00
Jean-Pierre André
99cb156ae5 Ported clearing the environment when starting mount or umount
When starting mount or umount, the environment was not cleared and
could be used for privilege escalation (CVE-2015-3202).
This is a port of the fix to full fuse by using execle(3) instead
of execl(3)
2015-06-01 12:48:43 +02:00
Jean-Pierre André
bd2c91d4a3 Packed/unpacked st_rdev transported as 32-bits on OpenIndiana 64-bits
On OpenIndiana 64-bits, st_rdev has major and minor as 32-bits wide each,
but the fuse protocol (common to 32-bit and 64-bit) has an st_rdev field
limited to 32-bit. For now, pack major and minor the same way as in the
32-bit variant (14 and 18 bits).
2015-04-17 11:22:49 +02:00
Jean-Pierre André
3d1c87d0d9 Fixed setting SIG_DFL on fuse session exit
This is a backport of a fix applied to the (external) fuse library
2015-04-17 11:14:36 +02:00
Jean-Pierre André
39c7d8538d Set the fuse protocol fall back to 7.12 when available
The support for ioctls has been added to fuse when using protocol 7.18,
and an equivalent upgrade has been done in fuse lite with commit [ae9aee].
For old kernels, a fall back to protocol 7.8 was implemented, but this
appears not to be supported in not-so-old kernels (e.g. 2.6.35).
With this patch, the fall back protocol is set to 7.12 or to the highest
level supported by the kernel.
2014-11-10 08:52:23 +01:00
Jean-Pierre André
e1d2b7faa7 Silenced a const qualifier dropping (cosmetic) 2014-09-02 10:03:23 +02:00
Jean-Pierre André
ae9aeebbbf Upgraded fuse-lite to support ioctls
This is backporting code from the full FUSE library in order to support
ioctls. The fuse protocol level negociated is now 7.18 instead of 7.8.
A fallback protocol to 7.8 is provided for compatibility with older kernels.

32-bit ioctls are not supported by a 64-bit library
2014-07-30 16:44:18 +02:00
Jean-Pierre André
2cbdba0c5c Silenced warnings by gcc >= 4.8 about non-checked return values
Added tests on the value returned by setuid() to avoid warnings by
gcc >= 4.8
2013-09-09 15:39:45 +02:00
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
72bea99a8f Fix compilation of libfuse-lite on Solaris/OpenIndiana.
The OpenSolaris port of libfuse, from which our Solaris-port of
libfuse-lite originated, had to be supplied with some additional
compiler flags in order to compile.
The configure script now detects whether it is running on a Solaris
system. If that is the case it passes the proper compiler flags to
libfuse-lite, so it can compile properly.

Tested on:
- OpenIndiana oi_151a3 / gcc 3.4.3
- OpenIndiana oi_151a7 / gcc 4.3.3
- Solaris 11.1 / gcc 4.5.2
2012-10-28 05:23:39 +01:00
Jean-Pierre André
9403b9e44f Allowed commas within option fsname on OpenIndiana
On OpenIndiana, the device names have commas in them. Do not interpret
commas as option separators within the option fsname. As a consequence
this option has to be the last one.
2012-08-22 11:08:20 +02:00
Jean-Pierre André
97342d05bc Merged libfuse for OpenIndiana into libfuse-lite
The libfuse used by OpenIndiana has the same features as libfuse-lite
though requiring some code variants. Merging them simplifies supporting
both.

Variants for OpenIndiana are selected when defining __SOLARIS__
2012-08-22 11:02:36 +02:00
Jean-Pierre André
9b5bd2cbbc Allowed building for kfreebsd (Robert Millan)
Extended several #ifdef's to account for "FreeBSD kernel"
2012-01-23 16:55:04 +01:00
Jean-Pierre André
0147a15e1e cosmetic : Removed an unneeded function in fuse_lowlevel.c (and a gcc 4.6 warning) 2011-08-04 15:49:35 +02:00
Jean-Pierre André
d7926f72d0 Provided support for big writes 2011-07-05 12:17:30 +02:00
Jean-Pierre André
f510c5cdf4 Got the target libs to build libntfs-3g and libfuse-lite if selected 2011-07-05 12:17:11 +02:00
Szaka
f246d6ce97 Update ntfs-3g.org references 2011-03-27 15:29:48 +03:00
Jean-Pierre André
b7fbd01ccd Fixed mounting with a SLinux context (from Fedora #502946) 2010-10-01 10:43:31 +02:00
Jean-Pierre André
84c93479d8 fixed a compilation issue with uClibc 2010-04-19 10:53:31 +02:00
jpandre
17a629229d Developed selective timestamp setting for utimensat(2) 2009-12-23 14:51:07 +00:00
jpandre
5c464acada Concealed a warning for unused result in fusermount 2009-12-10 13:28:30 +00:00
szaka
85f2ba96cc fix build: fix fuse-lite Makefile.am 2009-10-03 08:11:02 +00:00
szaka
34ac269f49 add missing fuse-lite files 2009-10-03 07:19:30 +00:00
jpandre
b46c8daad5 Enabled Posix ACLs with older kernels 2009-09-18 19:40:59 +00:00
jpandre
b725b77e88 Inserted conditions on fuse patches to avoid constraints on older kernels 2009-07-30 13:11:50 +00:00
jpandre
fe18b65f95 Fixed most of compile-time warnings in fuse-lite 2009-07-06 10:59:34 +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
e4a835076a Updating the source directory tree 2008-03-28 14:42:50 +00:00