72 Commits

Author SHA1 Message Date
Bill Zissimopoulos
47aa53c70a dll: FspFsctlServiceVersion
During file system volume creation FspFsctlCreateVolume calls FspFsctlServiceVersion
which examines the version of the driver in use and initializes the variables
FspFsctlTransactCode and FspFsctlTransactBatchCode with either the new
FSP_IOCTL_TRANSACT* codes or the old FSP_FSCTL_TRANSACT* codes.
2022-05-27 18:31:36 +01:00
Bill Zissimopoulos
43af829d46 sys,dll,inc: FSP_IOCTL_TRANSACT 2022-05-16 21:40:01 +01:00
Bill Zissimopoulos
00d4aba946 github: winfsp org 2022-03-02 18:01:21 +00:00
Bill Zissimopoulos
751eaa69df
update source copyright to 2022 2022-01-07 17:30:49 +00:00
Bill Zissimopoulos
6e3a8f70b2
update source copyright to 2021 2021-05-21 15:57:05 -07:00
Bill Zissimopoulos
ca832988ed
dll,sys: fix issue #369
The original WinFsp protocol for shutting down a file system was to issue
an FSP_FSCTL_STOP control code to the fsctl device. This would set the IOQ
to the "stopped" state and would also cancel all active IRP's. Cancelation
of IRP's would sometimes free buffers that may have still been in use by
the user mode file system threads; hence access violation.

To fix this problem a new control code FSP_FSCTL_STOP0 is introduced. The
new file system shutdown protocol is backwards compatible with the original
one and works as follows:

- First the file system process issues an FSP_FSCTL_STOP0 control code which
sets the IOQ to the "stopped" state but does NOT cancel IRP's.

- Then the file system process waits for its dispatcher threads to complete
(see FspFileSystemStopDispatcher).

- Finally the file system process issues an FSP_FSCTL_STOP control code
which stops the (already stopped) IOQ and cancels all IRP's.
2021-05-18 12:30:17 -07:00
Bill Zissimopoulos
2d5d058d2f
dll: FspFsctlStartService:make thread safe 2020-12-19 11:05:24 -08:00
Bill Zissimopoulos
844fb7171e
inc,dll,sys: notify implementation skeleton 2020-10-06 16:37:33 -07:00
Bill Zissimopoulos
aa3beba928
sys: silo support 2020-06-05 15:47:19 -07:00
Bill Zissimopoulos
aedf01a384
update source copyright for 2020 2020-01-02 17:50:40 -08: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
Bill Zissimopoulos
d2de5e996c
update source copyright for 2019 2019-02-28 10:39:31 -08:00
Bill Zissimopoulos
75ae8daf8f
update commercial disclaimer 2018-08-21 18:09:33 -07:00
Bill Zissimopoulos
9501b5771d
inc,sys,tst: FSP_FSCTL_VOLUME_PARAMS: fine-grained timeouts 2018-04-21 11:53:14 -07:00
Bill Zissimopoulos
9bd9cf4fbd
update source copyright notices for 2018 2018-01-03 15:29:38 -08:00
Bill Zissimopoulos
4fe85222b1
dll: wksid: well known SID's 2017-12-11 15:03:32 -08:00
Bill Zissimopoulos
5d8384a508 src: dll: FspFsctlFixServiceSecurity
- fix GetEffectiveRightsFromAclW ERROR_CIRCULAR_DEPENDENCY
2017-04-12 10:50:27 -07:00
Bill Zissimopoulos
a57325e8af update source copyright notices for 2017 2017-01-05 13:56:18 -08:00
Bill Zissimopoulos
bd952253fb cosmetic fix 2016-10-11 11:39:17 -07:00
Bill Zissimopoulos
c7780cf7fa license: switch to GPLv3 from AGPLv3 2016-10-10 21:33:27 -07:00
Bill Zissimopoulos
817beebb63 inc: fsctl: FSP_FSCTL_VOLUME_PARAMS changes:
- increase size of VolumePrefix
- add FileSystemName field (currently unused)
2016-09-20 15:37:42 -07:00
Bill Zissimopoulos
a4e2ad9dd6 dll: FspFsctlStop: fix problem in call to DeviceIoControl
- The DeviceIoControl was invoked in an incorrect fashion that nevertheless worked in Win64, but not Win32.
2016-07-28 14:56:06 -07:00
Bill Zissimopoulos
9b93c766c3 dll: fsctl, fuse: preflight check 2016-06-02 20:21:34 -07:00
Bill Zissimopoulos
222f015273 src: dll: FspFsctlStartService: return STATUS_NO_SUCH_DEVICE when WinFsp FSD does not exist 2016-05-19 19:17:07 -07:00
Bill Zissimopoulos
9addfa5899 dll: FspEventLogRegister, FspEventLogUnregister 2016-05-06 15:05:36 -07:00
Bill Zissimopoulos
de973fa5ab dll: FspFileSystemRegister, FspFileSystemUnregister: rename and place in fsctl.c 2016-05-05 11:14:23 -07:00
Bill Zissimopoulos
cbb7d943bd dll: fsctl: FspFsctlStartService 2016-05-04 16:06:14 -07:00
Bill Zissimopoulos
968de4689c inc,src,tst: add AGPLv3 notices 2016-04-25 14:29:05 -07:00
Bill Zissimopoulos
1bcd3cec0a sys, dll: NetworkProvider implementation (NPGetConnection) 2016-04-19 14:29:07 -07:00
Bill Zissimopoulos
7ff99da000 update copyright notices for 2016 2016-03-17 14:59:46 -07:00
Bill Zissimopoulos
1b533512d3 sys, dll: FSP_FSCTL_STOP 2016-02-16 20:37:13 -08:00
Bill Zissimopoulos
d1fe27f996 sys: FSP_FSCTL_TRANSACT/FSP_FSCTL_TRANSACT_BATCH 2016-02-15 15:07:05 -08:00
Bill Zissimopoulos
56a9d37135 dll: FspFsctlCreateVolume: use FILE_FLAG_OVERLAPPED when opening control device to allow concurrent DeviceIoControl's 2016-02-13 12:04:28 -08:00
Bill Zissimopoulos
f3d84c7b88 rename *Path to *Name in multiple instances 2016-01-13 15:16:46 -08:00
Bill Zissimopoulos
d2828b3e8c sys: create: open UserMode AccessToken handle in FspFsvolCreatePrepare and close it properly in FspFsvolCreateRequestFini 2016-01-02 16:16:00 -08:00
Bill Zissimopoulos
223b287453 dll: WIP 2015-12-31 22:53:17 -08:00
Bill Zissimopoulos
838adc67bb Major refactoring: testing 2015-12-23 12:30:39 -08:00
Bill Zissimopoulos
41269e9d21 Major refactoring: testing 2015-12-23 12:28:56 -08:00
Bill Zissimopoulos
42762d49ea dll: Major refactoring: WIP 2015-12-23 12:08:50 -08:00
Bill Zissimopoulos
7197501c9a Major refactoring: WIP 2015-12-20 10:57:45 -08:00
Bill Zissimopoulos
3ae924e3f9 dll: FspFsctlTransact: bug fix 2015-12-15 19:09:21 -08:00
Bill Zissimopoulos
8f188914cd dll: GlobalDevicePath: bug fix 2015-12-15 19:04:45 -08:00
Bill Zissimopoulos
825f4ed2ef dll: remove references to StringCbPrintf*() 2015-12-15 16:06:02 -08:00
Bill Zissimopoulos
2b1edc8d29 dll: MemAlloc/MemFree 2015-12-15 14:32:11 -08:00
Bill Zissimopoulos
44a17d0b4d dll: FspFileSystemLoop 2015-12-15 13:15:44 -08:00
Bill Zissimopoulos
5d6d938039 sys: FspFsvrtTransact testing 2015-12-12 17:01:30 -08:00
Bill Zissimopoulos
763d4666a7 dll: CreateSelfRelativeSecurityDescriptor now supports self relative security descriptors as input 2015-12-01 17:34:00 -08:00
Bill Zissimopoulos
2298a6f7c6 dll: fsctl: CreateSelfRelativeSecurityDescriptor: default security descriptor has FILE_ALL_ACCESS instead of GENERIC_ALL, which does not seem to work with SeAccessCheck 2015-12-01 16:36:22 -08:00
Bill Zissimopoulos
4f790f7b58 dll: fsctl: security descriptor malarkey 2015-12-01 15:34:18 -08:00