229 Commits

Author SHA1 Message Date
Bill Zissimopoulos
6e3a8f70b2
update source copyright to 2021 2021-05-21 15:57:05 -07:00
Bill Zissimopoulos
9d5efe5f98
dll: fuse: FileSecurity option 2021-01-25 16:54:59 -08:00
Bill Zissimopoulos
c803ef24f8
dll: fuse: truncate fixed size options
Some options (VolumePrefix, FileSystemName, volname) have a fixed maximum size.
This commit adds functionality to truncate user-specified long options to their fixed maximum size.
2020-12-22 15:44:37 -08:00
Bill Zissimopoulos
b3058a5e3e
shared: minimal.h: STRTOINT 2020-11-06 09:41:49 -08:00
Bill Zissimopoulos
f1cf020272
dll: fuse: allow mount manager mountpoints 2020-10-29 15:28:14 -07:00
Bill Zissimopoulos
6340811974
dll: fuse: fsp_fuse_notify: handle case-insensitive file systems 2020-10-21 15:45:07 -07:00
Bill Zissimopoulos
cd21d26b93
dll: fuse: fsp_fuse_notify
Correctly compute Windows change notification filter and action
from FUSE change notification action.
2020-10-19 18:17:05 -07:00
Bill Zissimopoulos
e54c2288f7
dll: fuse: fuse_notify 2020-10-10 10:15:36 -07:00
Bill Zissimopoulos
e71aea8ad7
dll: fuse: ReadDirectory: log invalid directory entries 2020-04-15 15:07:01 -07:00
Bill Zissimopoulos
9066338220
dll: fuse: ReadDirectory: log invalid directory entries 2020-04-14 22:54:46 -07:00
Bill Zissimopoulos
b4c39f656c
dll,fuse: allow dir buffer entry invalidation
The FUSE implementation of ReadDirectory issues readdir followed
by a slew of getattr. In the current implementation if a getattr fails
the whole readdir operation fails.

This commit adds the ability to invalidate individual entries in the
directory buffer. Entries for which getattr fails are now marked invalid
rather than fail the overall ReadDirectory operation.

See #292
2020-04-13 15:52:03 -07:00
Bill Zissimopoulos
71995a1fcd
dll,sys: FSP_CFG_REJECT_EARLY_IRP
Includes Avast fix for FUSE.
2020-02-07 15:11:24 -08:00
Pedro Frejo
dbfbcb547d Fixed data corruption when overwriting a file on a Fuse v3 filesystem
When a file of size "s" is overwritten, forcing "O_APPEND" flag
makes the server file offset to be placed "s" bytes in advance.
This caused subsequent write operations to be paded by "s" zeroes,
thus corrupting the file.
2020-01-23 21:31:56 +01:00
Bill Zissimopoulos
aedf01a384
update source copyright for 2020 2020-01-02 17:50:40 -08:00
Bill Zissimopoulos
5131ed5c01
Merge branch 'bdutro-o_append-fix' 2019-10-21 20:14:02 -07:00
Brett Dutro
b513128cfe In Windows, Go clears any write-related flags when O_APPEND is
specified. This causes WinFSP to think that any O_APPEND requests are
actually read-only. This adds an additional check for the
FILE_APPEND_DATA flag so that we can ensure the request is sent with at
least O_WRONLY and O_APPEND set.
2019-10-21 18:04:26 -05:00
John Tyner
8f90305726 add support for setting file system name without 'FUSE-' prefix 2019-10-07 07:05:01 -07:00
John Tyner
490d0577bb Revert "Remove 'FUSE-' prefix from file system name when using fuse interface"
This reverts commit 7d2ff3afeb768b610867861489152e0c31ade16d.
2019-10-07 06:47:02 -07:00
John Tyner
7d2ff3afeb Remove 'FUSE-' prefix from file system name when using fuse interface 2019-09-24 20:04:29 -07:00
Bill Zissimopoulos
fb6893968a dll: fuse: add --UserName and --GroupName 2019-07-08 15:12:26 -07:00
Bill Zissimopoulos
3a12d928e5 dll: fuse: avoid calling fgetattr on directories 2019-07-01 00:00:37 -07:00
Bill Zissimopoulos
c01402443d wslinux support: ATOMIC_CREATE_ECP_CONTEXT 2019-04-27 15:30:57 -07:00
Bill Zissimopoulos
4f444b412e dll: fuse: create_file_mask, create_dir_mask options 2019-04-16 15:16:54 -07:00
Bill Zissimopoulos
3c3163c41b dll; fuse: rename dot_hidden option to dothidden 2019-04-16 12:11:43 -07:00
Bill Zissimopoulos
8beb534340 dll: fuse: dot_hidden option adds hidden file attribute on dot files 2019-04-15 16:30:00 -07:00
Bill Zissimopoulos
4e7d2fd204
tst: passthrough-fuse: xattr 2019-03-26 17:25:46 -07:00
Bill Zissimopoulos
732e6cc38c
grand EaSize patch; passes winfsp-tests and ifstest 2019-03-21 18:14:15 -07:00
Bill Zissimopoulos
8c6d037332
dll: fuse: extended attributes support 2019-03-20 14:32:00 -07:00
Bill Zissimopoulos
d2de5e996c
update source copyright for 2019 2019-02-28 10:39:31 -08:00
Fritz Elfert
f97b8fcc3a Fix #213 and a typo in macro FSP_FUSE_CTLCODE_FROM_IOCTL 2019-02-12 11:51:07 +01:00
Bill Zissimopoulos
75ae8daf8f
update commercial disclaimer 2018-08-21 18:09:33 -07:00
Bill Zissimopoulos
bef5ba7f3b dll: fuse: fix daemonization problem on Cygwin
The new FUSE loop use a Windows event (LoopEvent) to signal loop exit.
Prior to this commit the Windows event was created outside the FUSE
loop and potentially before daemonization (on Cygwin). This means that
the event was created in a different process and
WaitForMultipleObjects was failing with ERROR_ACCESS_DENIED.

This commit ensures that the LoopEvent is created inside the FUSE loop
and therefore in the daemonized process.
2018-07-31 21:02:46 -07:00
Bill Zissimopoulos
43101dfe06 dll: fuse: improve service start/stop messaging 2018-07-29 10:52:01 -07:00
Bill Zissimopoulos
a1b92d9095 dll: fuse: refactoring
Split dll/fuse.c into dll/fuse.c and dll/fuse_loop.c to accommodate
the complicated loop logic due to the last commit.
2018-07-28 13:38:06 -07:00
Bill Zissimopoulos
ae8e4e61f7 dll: fuse: allow multiple FUSE file systems
Refactoring to allow for multiple FUSE file systems within a single
process. Running FUSE file systems as Windows services is still
supported.
2018-07-28 13:13:27 -07:00
Bill Zissimopoulos
5d73687de8
dll: fuse: refactoring 2018-07-25 13:33:15 -07:00
Bill Zissimopoulos
b609435dad
dll: fuse: refactoring 2018-07-25 13:26:36 -07:00
Bill Zissimopoulos
0d819eb800
dll: fuse3: testing 2018-07-25 10:28:33 -07:00
Bill Zissimopoulos
4a653a8bc0
dll: fuse3: testing 2018-07-25 10:04:23 -07:00
Bill Zissimopoulos
753440e837
dll: fuse3: checkpoint 2018-07-19 06:13:48 -07:00
Bill Zissimopoulos
ab3f3d2827
dll: fuse3: fuse2to3 implementation 2018-07-18 04:11:20 -07:00
Bill Zissimopoulos
3dc09b2496
dll: fuse: remove dll/fuse/shared.h 2018-07-16 14:21:57 -07:00
Bill Zissimopoulos
27d03d4323
dll: fuse: ENOSYS has different values on Windows vs Cygwin 2018-07-16 09:50:21 -07:00
Bill Zissimopoulos
ad1b53e5a4
dll: fuse: move fsp_fuse_obj_* to sdll/fuse/shared.h 2018-07-16 09:45:38 -07:00
Bill Zissimopoulos
e4077c92e9
dll: fuse: ENOSYS has different values on Windows vs Cygwin 2018-07-16 09:42:15 -07:00
Bill Zissimopoulos
fdaf1da778
Merge branch 'pvt-devctl' 2018-05-08 20:49:22 -07:00
Bill Zissimopoulos
1123e7b0ef
dll: fuse: optimize symlinks aways when readlink returns -ENOSYS 2018-05-08 10:51:29 -07:00
Bill Zissimopoulos
06ee833740
dll: fuse: enable DeviceControl 2018-05-07 14:13:24 -07:00
Bill Zissimopoulos
fbcefe6339
dll: fuse: ioctl 2018-05-07 14:05:18 -07:00
Bill Zissimopoulos
7d56b9c23d
dll: fuse: GetSecurityByName: correctly handle "not found" paths with symlinks 2018-04-30 14:18:03 -07:00