From 6ae6188e61df3f7a1448591a3675c130c4d22bc7 Mon Sep 17 00:00:00 2001 From: Adrien JUND Date: Mon, 1 Jun 2020 18:56:45 +0200 Subject: [PATCH] Release - 1.4.0.1000 --- CHANGELOG.md | 33 +++++++++++++++++++++++---------- Dokan.props | 2 +- appveyor.yml | 4 ---- dokan/dokan.h | 2 +- dokan/dokan.rc | 8 ++++---- dokan_fuse/src/dokanfuse.rc | 8 ++++---- dokan_np/dokan_np.rc | 8 ++++---- dokan_wix/version.xml | 6 +++--- sys/dokan.rc | 8 ++++---- 9 files changed, 44 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e1ba71db..bbd1f857b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,21 +3,34 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). -## [Unreleased] - 1.3.2.1000 +## [1.4.0.1000] - 2020-01-06 ### Added -- Kernel - Add `DokanAllocZero` that Alloc and ZeroMemory buffer size requested sys - Rename `ExAllocatePool` to `DokanAlloc` -- Kernel - Add Input IRP Buffer Help macro -- Kernel - Use `GET_IRP` for `Type3InputBuffer` and start using Output buffer function helpers for IRP -- FUSE - Add mount manager option +- MemFS - Add a new FS sample project: dokan_memfs. MemFS is a better example to debug and know the dokan driver/library feature supported and NTFS compliant. The FS pass most of WinFSTest and IFSTest. It looks to be stable enough to be included in the installer. It hasn't been test with real usage but it is expected to run without issue. MemFS is written in c++ and is under MIT license. +- Installer - You can now find two installers with binaries built with and without VC redistributable. If no issue is reported, the next release will only have without the VC redistributable. +- Kernel - Support directory path mount with mount manager. +- Kernel - Add `DokanAllocZero` that Alloc and ZeroMemory buffer size requested sys - Rename `ExAllocatePool` to `DokanAlloc`. +- Kernel - Add Input IRP Buffer Help macro. +- Kernel - Use `GET_IRP` for `Type3InputBuffer` and start using Output buffer function helpers for IRP. +- FUSE - Add mount manager option. ### Changed -- Kernel - Do not rethrow exception during `EXCEPTION_EXECUTE_HANDLER` -- Kernel - During EventRelease directly call `FsRtlNotifyCleanupAll` instead of going through all Fcb & Ccb -- Library - Add support for compiling with GCC +- Kernel - Replace `DOKAN_OPTION_OPTIMIZE_SINGLE_NAME_SEARCH` by `DOKAN_OPTION_ENABLE_FCB_GARBAGE_COLLECTION`. The advantage of the GC approach is that it prevents filter drivers from exponentially slowing down procedures like zip file extraction due to repeatedly rebuilding state that they attach to the FCB header. +- Kernel - Multiple code refactoring. +- Kernel - Move and Improve `FixFileNameForReparseMountPoint`. +- Kernel - `FileNetworkPhysicalNameInformation` now return directly the FileName instead of sending the request to userland. +- Kernel - `FileAllocationInformation` - return `STATUS_USER_MAPPED`_FILE when trying to truncate a memory mapped file. +- Kernel - Do not rethrow exception during `EXCEPTION_EXECUTE_HANDLER`. +- Kernel - During EventRelease directly call `FsRtlNotifyCleanupAll` instead of going through all Fcb & Ccb. +- Kernel - Change `DokanPrintNTStatus` with limited number of `NTSTATUS` values print to use `DokanGetNTSTATUSStr`. `DokanGetNTSTATUSStr` use `ntstatus_log.inc` that has all ntstatus from . +- Library - Add support for compiling with GCC. +- Library - Move `DokanRemoveMountPointEx` to internal header as it is not available to the public API. ### Fixed -- FUSE - Read keep local filename instance -- Installer - Fix incorrect pdb file copied for driver +- FUSE - Read keep local filename instance. +- Installer - Fix incorrect pdb file copied for driver. +- Library - `DokanNetworkProviderInstall` return earlier if a Reg failure happens and not corrupt the registry. +- Kernel - Catch `FsRtlNotifyFullReportChange` `STATUS_ACCESS_VIOLATION` exception. +- Library - Correct newName format when a stream name is renamed. ## [1.3.1.1000] - 2019-12-16 ### Added diff --git a/Dokan.props b/Dokan.props index 45b14fb70..c2cdd7ef2 100644 --- a/Dokan.props +++ b/Dokan.props @@ -3,7 +3,7 @@ 1 - 1.3.1 + 1.4.0 diff --git a/appveyor.yml b/appveyor.yml index d5d8d4775..8d1abd8df 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -183,10 +183,6 @@ bash "pacman --sync --needed --noconfirm --cache `"$unix_msys2_cache`" mingw-w64-{x86_64,i686}-toolchain mingw-w64-{x86_64,i686}-cmake make" } - before_build: - # Remove VS build warning http://help.appveyor.com/discussions/problems/4569-the-target-_convertpdbfiles-listed-in-a-beforetargets-attribute-at-c-does-not-exist-in-the-project-and-will-be-ignored - #- del "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets" - build_script: - ps: | Write-Host Start building... diff --git a/dokan/dokan.h b/dokan/dokan.h index fdf5383c9..646f64a5f 100644 --- a/dokan/dokan.h +++ b/dokan/dokan.h @@ -56,7 +56,7 @@ extern "C" { /** @{ */ /** The current Dokan version (ver 1.2.0). \ref DOKAN_OPTIONS.Version */ -#define DOKAN_VERSION 131 +#define DOKAN_VERSION 140 /** Minimum Dokan version (ver 1.1.0) accepted. */ #define DOKAN_MINIMUM_COMPATIBLE_VERSION 110 /** Driver file name including the DOKAN_MAJOR_API_VERSION */ diff --git a/dokan/dokan.rc b/dokan/dokan.rc index 1fd1f1a5e..54abec3d3 100644 --- a/dokan/dokan.rc +++ b/dokan/dokan.rc @@ -16,8 +16,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,3,1,1000 - PRODUCTVERSION 1,3,1,1000 + FILEVERSION 1,4,0,1000 + PRODUCTVERSION 1,4,0,1000 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -34,12 +34,12 @@ BEGIN BEGIN VALUE "CompanyName", "Dokan Project" VALUE "FileDescription", "Dokan Library" - VALUE "FileVersion", "1.3.1.1000" + VALUE "FileVersion", "1.4.0.1000" VALUE "InternalName", "dokan.dll" VALUE "LegalCopyright", "Copyright (C) 2018" VALUE "OriginalFilename", "dokan.dll" VALUE "ProductName", "Dokan" - VALUE "ProductVersion", "1.3.1.1000" + VALUE "ProductVersion", "1.4.0.1000" END END BLOCK "VarFileInfo" diff --git a/dokan_fuse/src/dokanfuse.rc b/dokan_fuse/src/dokanfuse.rc index 26d2a242a..a8bc7b9f0 100644 --- a/dokan_fuse/src/dokanfuse.rc +++ b/dokan_fuse/src/dokanfuse.rc @@ -16,8 +16,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,3,1,1000 - PRODUCTVERSION 1,3,1,1000 + FILEVERSION 1,4,0,1000 + PRODUCTVERSION 1,4,0,1000 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -34,12 +34,12 @@ BEGIN BEGIN VALUE "CompanyName", "Dokan Project" VALUE "FileDescription", "Dokan Fuse library" - VALUE "FileVersion", "1.3.1.1000" + VALUE "FileVersion", "1.4.0.1000" VALUE "InternalName", "dokanfuse.dll" VALUE "LegalCopyright", "Copyright (C) 2018" VALUE "OriginalFilename", "dokanfuse.dll" VALUE "ProductName", "Dokan" - VALUE "ProductVersion", "1.3.1.1000" + VALUE "ProductVersion", "1.4.0.1000" END END BLOCK "VarFileInfo" diff --git a/dokan_np/dokan_np.rc b/dokan_np/dokan_np.rc index 1bba30dca..f8aa0ca8a 100644 --- a/dokan_np/dokan_np.rc +++ b/dokan_np/dokan_np.rc @@ -16,8 +16,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,3,1,1000 - PRODUCTVERSION 1,3,1,1000 + FILEVERSION 1,4,0,1000 + PRODUCTVERSION 1,4,0,1000 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -34,12 +34,12 @@ BEGIN BEGIN VALUE "CompanyName", "Dokan Project" VALUE "FileDescription", "Dokan Network Provider" - VALUE "FileVersion", "1.3.1.1000" + VALUE "FileVersion", "1.4.0.1000" VALUE "InternalName", "dokan.dll" VALUE "LegalCopyright", "Copyright (C) 2018" VALUE "OriginalFilename", "dokannp.dll" VALUE "ProductName", "Dokan" - VALUE "ProductVersion", "1.3.1.1000" + VALUE "ProductVersion", "1.4.0.1000" END END BLOCK "VarFileInfo" diff --git a/dokan_wix/version.xml b/dokan_wix/version.xml index 2155487d2..ae1722f3f 100644 --- a/dokan_wix/version.xml +++ b/dokan_wix/version.xml @@ -1,13 +1,13 @@ - + - + - + diff --git a/sys/dokan.rc b/sys/dokan.rc index 8e83d4e28..98d462acd 100644 --- a/sys/dokan.rc +++ b/sys/dokan.rc @@ -16,8 +16,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,3,1,1000 - PRODUCTVERSION 1,3,1,1000 + FILEVERSION 1,4,0,1000 + PRODUCTVERSION 1,4,0,1000 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -34,12 +34,12 @@ BEGIN BEGIN VALUE "CompanyName", "Dokan Project" VALUE "FileDescription", "Dokan Driver" - VALUE "FileVersion", "1.3.1.1000" + VALUE "FileVersion", "1.4.0.1000" VALUE "InternalName", "dokan.sys" VALUE "LegalCopyright", "Copyright (C) 2018" VALUE "OriginalFilename", "dokan.sys" VALUE "ProductName", "Dokan" - VALUE "ProductVersion", "1.3.1.1000" + VALUE "ProductVersion", "1.4.0.1000" END END BLOCK "VarFileInfo"