Commit Graph

397 Commits

Author SHA1 Message Date
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
24b5d48fed add shared/ku/config.h and related changes 2020-02-07 15:40:08 -08:00
71995a1fcd dll,sys: FSP_CFG_REJECT_EARLY_IRP
Includes Avast fix for FUSE.
2020-02-07 15:11:24 -08:00
8497855d80 sys: FSP_DEVICE_REJECT_EARLY_IRP macro 2020-02-07 13:22:09 -08:00
bf6d56ceac inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact0 2020-02-03 16:38:55 -08:00
51350d5a42 inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS::RejectIrpPriorToTransact 2020-02-03 14:59:23 -08:00
aedf01a384 update source copyright for 2020 2020-01-02 17:50:40 -08:00
254174b8e9 sys: avoid using FspFsextProvider unnecessarily 2019-11-04 16:30:30 -08:00
9436fd8402 sys: implement SectorSize queries
- IRP_MJ_QUERY_VOLUME_INFORMATION/FileFsSectorSizeInformation
- IOCTL_STORAGE_QUERY_PROPERTY/StorageAccessAlignmentProperty
2019-09-06 20:52:15 -07:00
4655926d03 sys, dll: mount manager support 2019-09-06 14:24:00 -07:00
565caebe4c sys,dll: FspFileSystemSetMountPoint: mount manager support 2019-09-05 19:58:14 -07:00
a47f853beb sys: mountdev: mount manager support 2019-09-05 09:54:36 -07:00
89ec3e6733 ku: UUID v5 generation 2019-09-04 13:45:53 -07:00
f5fde4c0bb sys: FspVolumeTransactFsext 2019-06-22 15:18:16 -07:00
dcf7e4c5a6 sys: fsext: FsextProvider testing 2019-06-22 14:30:23 -07:00
4ae03629f7 sys: FspFsextProvider: load provider driver 2019-06-18 20:28:59 -07:00
f4496786e5 src: ku: posix.c
- src/ku directory contains shared kernel/user mode code
2019-06-18 16:49:20 -07:00
b637a72ec8 sys: FspFsextProvider 2019-06-18 16:11:38 -07:00
2cd1bddafb sys: FspFsextProvider 2019-06-14 21:22:01 -07:00
781deff06f sys: default TransactTimeout changes 2019-06-11 17:53:34 -07:00
c01402443d wslinux support: ATOMIC_CREATE_ECP_CONTEXT 2019-04-27 15:30:57 -07:00
17adae481c sys: FspFileNodeOplockCheckAsyncEx: fix stupid mistake in DEBUGTEST code 2019-04-18 23:47:27 -07:00
969651f5f6 sys: improve support for FileStatLxInformation 2019-04-18 15:57:22 -07:00
851d0758d9 sys: define FSP_FILE_STAT*_INFORMATION that are missing on some WDK's 2019-04-16 15:55:13 -07:00
ce83619728 sys: FileStatLxInformation and friends 2019-04-15 15:04:31 -07:00
732e6cc38c grand EaSize patch; passes winfsp-tests and ifstest 2019-03-21 18:14:15 -07:00
2d0c8e14be sys: FspEaBufferFromOriginatingProcessValidate, FspEaBufferFromFileSystemValidate 2019-03-20 19:06:24 -07:00
02a650f8d0 sys: ea: return STATUS_EA_CORRUPT_ERROR when appropriate 2019-03-19 11:15:14 -07:00
9e5d75fadc sys: util: FspEaBufferAndNamesValid 2019-03-16 13:58:09 -07:00
d3efdd9219 dll, sys: FSP_NEXT_EA 2019-03-14 22:04:31 -07:00
a811cd2cf8 sys, dll: extended attributes: checkpoint 2019-03-13 14:29:49 -07:00
d2de5e996c update source copyright for 2019 2019-02-28 10:39:31 -08:00
4d49039abe sys: FspFastIoQueryOpen: access control
Extend the WinFsp kernel-user mode protocol to allow passing
security descriptors that can then be used for access control
during FastIoQueryOpen.
2018-10-04 13:21:29 -07:00
3a286324ff sys: implement FastIo operations
FspFastIoQueryOpen
2018-10-02 11:12:25 -07:00
0d849ffcc8 sys: implement FastIo operations
FastIoQueryBasicInfo, FastIoQueryStandardInfo, FastIoQueryNetworkOpenInfo
2018-10-02 11:12:24 -07:00
f32c914ee8 sys: create: FspFsvolCreate
Only check reparse point ECP if running on OS prior to RS4
2018-09-06 18:03:53 -07:00
681eac9cd8 sys: create: FspFsvolCreate
Only check reparse point ECP if running on OS prior to RS4
2018-09-06 17:52:52 -07:00
4551766f7a sys: create: FspFsvolCreate
Replace FspMainFileOpenCheck with inline code
2018-09-06 13:26:53 -07:00
75ae8daf8f update commercial disclaimer 2018-08-21 18:09:33 -07:00
c2f87029d7 sys: FspFileNodeCleanupFlush:
- CcFlushCache now happens during initial Cleanup call
- avoids recursive call into file system during Cleanup completion
2018-04-23 14:30:38 -07:00
6b0b4c8b8e sys: mup: claim \ClassName instead of \ClassName\InstanceName prefix 2018-01-17 15:44:01 -08:00
a4629b8f8b sys: fsmup device
- This commit introduces the fsmup device, which is a major change in how
network file systems are handled. Previously every network file system's
fsvol device was directly registered with the MUP. Now there is a single
fsmup device that is registered with the MUP; network file systems' fsvol
devices register with fsmup instead. The fsmup device maintains a prefix
table which it uses to demultiplex and forward requests to the appropriate
fsvol device.
- This device change was necessatitated to fix issue #87.
2018-01-16 10:38:52 -08:00
9bd9cf4fbd update source copyright notices for 2018 2018-01-03 15:29:38 -08:00
3a8ad9c8d7 sys: QueryDirectory stability:
- FspMetaCacheAddItem now handles exceptions during copy from fs buffer
- FspFsvolQueryDirectoryLengthMax is correct max length for QueryDirectory
2017-10-25 10:44:33 -07:00
07f15c236b sys: dirctl: eliminate use of SystemBuffer to work around problems with Avast 2017-10-19 16:49:10 -07:00
98334208b9 Revert commit c70089a176 2017-09-29 15:20:38 -07:00
c70089a176 sys: FSP_FILE_DESC: DirectoryNoMoreFiles optimization 2017-09-27 18:01:17 -07:00
b35bf204db sys: FspFileNodeTrySetFileInfoOnOpen 2017-07-11 14:17:17 -07:00
4c0386bf8d sys: hardcode AlwaysUseDoubleBuffering for Reads 2017-02-25 11:22:22 -08:00
3215d8e26a sys: ProcessBuffer: DEBUGTEST 2017-02-23 20:26:14 -08:00