Commit Graph

1478 Commits

Author SHA1 Message Date
Bill Zissimopoulos
7c06ead34c launcher: ignore bad Stderr setting 2020-04-25 12:32:20 -07:00
Bill Zissimopoulos
768b596a76 launcher: add %P variable (user profile directory) 2020-04-25 11:36:30 -07:00
Bill Zissimopoulos
01744e8193 launcher: Stderr registry setting
This commit adds a new Stderr registry setting that can be used to redirect
the standard error output of a launched service instance.
2020-04-25 00:48:40 -07:00
Bill Zissimopoulos
3eb115eb22 launcher: SvcInstanceCreate: refactor to use FspLaunchRegGetRecord 2020-04-24 17:49:29 -07:00
Bill Zissimopoulos
a0801674c4 launcher: SvcInstanceCreateProcess: fix checking wrong handle 2020-04-24 16:04:07 -07:00
Bill Zissimopoulos
0268e51099 dll: launch: registry: support Recovery setting 2020-04-16 16:08:55 -07:00
Bill Zissimopoulos
dc3f73bd2f Merge branch 'pvt-launcher' 2020-04-15 15:10:09 -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
ca12b5a19d launcher: error recovery
Service instances can now be restarted when the registry setting `Recovery=1` is set.
2020-04-14 17:12:05 -07:00
Bill Zissimopoulos
94d8c0452f launcher: eliminate TLS for ClientUserName 2020-04-13 22:31:45 -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
42fd57904a sys: FspFsvolReadNonCached: trim ReadLength
During CreateProcess/CreateSection Windows locks the image file (using AcquireFileForNtCreateSection),
gets the image file size and then reads the image file. Unfortunately if the file system (erroneously) reads
past the file size, Windows can bugcheck. This allows a faulty or malicious file system to crash Windows.

This commit adds a check in WinFsp to mitigate this problem.
2020-04-10 19:24:43 -07:00
Bill Zissimopoulos
10f4df519c dotnet: RejectIrpPriorToTransact0 2020-02-07 17:07:50 -08:00
Bill Zissimopoulos
24b5d48fed add shared/ku/config.h and related changes 2020-02-07 15:40:08 -08:00
Bill Zissimopoulos
0650cabc47 refactor: shared->shared/um, ku->shared/ku 2020-02-07 15:28:25 -08:00
Bill Zissimopoulos
71995a1fcd dll,sys: FSP_CFG_REJECT_EARLY_IRP
Includes Avast fix for FUSE.
2020-02-07 15:11:24 -08:00
Bill Zissimopoulos
91c36b8f09 dll: FspFileSystemResolveReparsePointsInternal: fix warning 2020-02-07 14:54:09 -08:00
Bill Zissimopoulos
896c00a08c Merge branch 'pvt-reject-irp' 2020-02-07 13:29:19 -08:00
Bill Zissimopoulos
8497855d80 sys: FSP_DEVICE_REJECT_EARLY_IRP macro 2020-02-07 13:22:09 -08:00
Bill Zissimopoulos
52663ec676 dll: FspFileSystemResolveReparsePoints
Fix junction handling.
2020-02-04 15:37:17 -08:00
Bill Zissimopoulos
0901fb6477 inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact0 2020-02-03 16:43:15 -08:00
Bill Zissimopoulos
bf6d56ceac inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact0 2020-02-03 16:38:55 -08:00
Bill Zissimopoulos
51350d5a42 inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact 2020-02-03 14:59:23 -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
14ac0f8db9 dll: FspFileSystemOpCreate_FileOpenTargetDirectory 2020-01-15 13:26:29 -08:00
Gal Hammer
ac306c2ce1 dll: open as directory when file's parent directory should be opened. 2020-01-05 09:09:05 +02:00
Bill Zissimopoulos
aedf01a384 update source copyright for 2020 2020-01-02 17:50:40 -08:00
Bill Zissimopoulos
26fe1a741b sys: FspPropagateTopFlags: propagate union of flags from top level IRP 2019-12-13 16:42:49 -08:00
Bill Zissimopoulos
b18df6bba8 sys: release rename lock when doing oplock breaks 2019-12-08 14:27:02 -08:00
Bill Zissimopoulos
39aad2b4fa ku: posix: improve kernel mode support 2019-11-18 22:22:32 -08:00
Bill Zissimopoulos
39c189aff7 sys: fsext: FspFsextProviderTransact 2019-11-16 14:02:44 -08:00
Bill Zissimopoulos
23b5c67913 shared: minimal.h: eliminate warning on VS2015 builds 2019-11-07 16:08:41 -08:00
Bill Zissimopoulos
4b5478e50c sys: dirctl: support directory marker as FUSE style next offset 2019-11-05 22:14:16 -08:00
Bill Zissimopoulos
254174b8e9 sys: avoid using FspFsextProvider unnecessarily 2019-11-04 16:30:30 -08:00
Bill Zissimopoulos
5110b3c5a1 sys: dirctl: support directory marker as FUSE style next offset 2019-10-30 16:40:48 -07: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
Bill Zissimopoulos
29fd9bf779 sys: fsext: allow multiple providers (up to 4) 2019-10-18 16:00:31 -07:00
Bill Zissimopoulos
6f585ce63e Merge pull request #251 from johntyner/feature/remove-fuse-prefix
Remove "FUSE-" prefix from file system name when using FUSE API
2019-10-07 14:05:18 -07: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 7d2ff3afeb.
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
c415c87195 dll: FspMountSet, FspMountRemove 2019-09-24 15:34:01 -07:00
Bill Zissimopoulos
05b37c744b sys,dll: only user mode sends MountManager IOCTL's
(except for cleanup in FspMountdevFini)
2019-09-08 17:45:00 -07:00
Bill Zissimopoulos
9436fd8402 sys: implement SectorSize queries
- IRP_MJ_QUERY_VOLUME_INFORMATION/FileFsSectorSizeInformation
- IOCTL_STORAGE_QUERY_PROPERTY/StorageAccessAlignmentProperty
2019-09-06 20:52:15 -07:00
Bill Zissimopoulos
de75454d50 sys: FspFsvolDeviceControl: disable mountdev handling on fsvol devices 2019-09-06 15:43:20 -07:00
Bill Zissimopoulos
430d7a5650 sys: FspMountdevMake: use non-repeatable (i.e. non UUIDv5) GUID when non-persistent mountdev 2019-09-06 14:34:33 -07:00
Bill Zissimopoulos
4655926d03 sys, dll: mount manager support 2019-09-06 14:24:00 -07:00
Bill Zissimopoulos
565caebe4c sys,dll: FspFileSystemSetMountPoint: mount manager support 2019-09-05 19:58:14 -07:00