diff --git a/Liquesce/ChangeLog.rtf b/Liquesce/ChangeLog.rtf index 0cebc6c..44b8ed9 100644 --- a/Liquesce/ChangeLog.rtf +++ b/Liquesce/ChangeLog.rtf @@ -1,10 +1,10 @@ {\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fswiss\fprq2\fcharset0 Tahoma;}{\f1\fnil\fcharset0 Courier New;}{\f2\fmodern\fprq1\fcharset0 Courier New;}{\f3\fnil Courier New;}} {\colortbl ;\red0\green0\blue0;\red0\green0\blue255;} -{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\cf1\lang2057\ul\b\f0\fs20 Welcome to the \i Liquesce \i0 Changelog\cf0\ulnone\b0\f1\par +{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\cf1\lang2057\ul\b\f0\fs20 Welcome to the \i Liquesce \i0 Changelog\cf0\ulnone\b0\f1\par \cf1\f0\par Currently this is just a place holder for all the cool stuff that will be happening to this project :-)\par \par -Keep an open eye on the \cf2\ul\b http://liquesce.codeplex.com/\cf1\ulnone\b0 site.\par +Keep an open eye on the \cf2\ul\b{\field{\*\fldinst{HYPERLINK "http://liquesce.codeplex.com/"}}{\fldrslt{\ul\cf2 http://liquesce.codeplex.com/}}}\cf1\ulnone\b0\f0\fs20 site.\par \par \cf0\ul\b Some Helpful Information:\ulnone\b0\par \ul How to get an install log to send if you have a problem:\ulnone\par @@ -22,11 +22,14 @@ Keep an open eye on the \cf2\ul\b http://liquesce.codeplex.com/\cf1\ulnone\b0 s \ulnone\b0 - Fix Issues\par \par \ul\b Issue\ulnone\b0\par -- Win 7 (64) <-> win 7 (64) Maybe a Dokan bug see ticket http://code.google.com/p/dokan/issues/detail?id=168\par +- Win 7 (64) <-> win 7 (64) Maybe a Dokan bug see ticket {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/dokan/issues/detail?id=168"}}{\fldrslt{\ul\cf2 http://code.google.com/p/dokan/issues/detail?id=168}}}\f0\fs20\par \cf1\par \par \cf0\ul\b Done\par \par +2011-04-27\par +\ulnone\b0 - Add correction for IsDirectory in CreateFile open\par +- Add in function usage of Set / Get File security (Not Tested)\ul\b\par \par 2011-03-09 - Alpha\par \ulnone\b0 - SetFileTime fixes\par @@ -54,14 +57,14 @@ Bring the code upto the changes needed to implement Dokan 0.6.0 \par Fix DriveLetter to mountPoint conversion \par Update Dokan.dll binary for dll referencing \par Implement the #etFileSecurity functions to route through to the Native API's \par -Fix for http://code.google.com/p/dokan/issues/detail?id=198 \par +Fix for {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/dokan/issues/detail?id=198"}}{\fldrslt{\ul\cf2 http://code.google.com/p/dokan/issues/detail?id=198}}}\f0\fs20 \par Revert back to the char drive letter, Seems to be a bit more reliable (Needs proving) \par \par \par \ul\b 2010-11-25 \ulnone\b0\par - Fix Write at end of file logic \par - Start to test the code for the ShareEnabler \par -- Use the Native Read / Write Kernel Api's so that memory is not duplicated in the system; See http://code.google.com/p/dokan/issues/detail?id=174 \par +- Use the Native Read / Write Kernel Api's so that memory is not duplicated in the system; See {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/dokan/issues/detail?id=174"}}{\fldrslt{\ul\cf2 http://code.google.com/p/dokan/issues/detail?id=174}}}\f0\fs20 \par - Fix the recreation of the share by forcing a delete first. \par - Changed the way the data is stored in the DokanNet proxy(By removing it !) \par - All CreateFiles will now increment the counter to try and find who did what \par @@ -200,3 +203,4 @@ you can easily find out on which physical disk a file or folder is placed by liq - Installer installs the service and enables it through the local firewall (May not be needed now using WCF ?) \par - Service Starts and defaults to the C: drive as the source, producing a Mirror, N as the drive letter\ul\b\par } + \ No newline at end of file diff --git a/Liquesce/Properties/AssemblyInfo.cs b/Liquesce/Properties/AssemblyInfo.cs index ac8090c..45a87df 100644 --- a/Liquesce/Properties/AssemblyInfo.cs +++ b/Liquesce/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2011.3.15.639")] -[assembly: AssemblyFileVersion("2011.3.15.639")] +[assembly: AssemblyVersion("2011.4.27.640")] +[assembly: AssemblyFileVersion("2011.4.27.640")] diff --git "a/LiquesceFa\303\247ade/Properties/AssemblyInfo.cs" "b/LiquesceFa\303\247ade/Properties/AssemblyInfo.cs" index 31d4064..80e3ef6 100644 --- "a/LiquesceFa\303\247ade/Properties/AssemblyInfo.cs" +++ "b/LiquesceFa\303\247ade/Properties/AssemblyInfo.cs" @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2011.3.15.431")] -[assembly: AssemblyFileVersion("2011.3.15.431")] +[assembly: AssemblyVersion("2011.4.27.432")] +[assembly: AssemblyFileVersion("2011.4.27.432")] diff --git a/LiquesceSvc/LiquesceOps.cs b/LiquesceSvc/LiquesceOps.cs index 779f08e..d1118c6 100644 --- a/LiquesceSvc/LiquesceOps.cs +++ b/LiquesceSvc/LiquesceOps.cs @@ -91,6 +91,7 @@ public int CreateFile(string dokanPath, uint rawAccessMode, uint rawShare, uint if (Directory.Exists(actualLocation)) { actualErrorCode = OpenDirectory(dokanPath, info); + // info.IsDirectory = true; return actualErrorCode; } switch (rawCreationDisposition) @@ -1015,7 +1016,7 @@ public int GetFileSecurityNative(string file, ref SECURITY_INFORMATION rawReques return dokanReturn; } - public int SetFileSecurityNative(string file, ref SECURITY_INFORMATION rawSecurityInformation, ref SECURITY_DESCRIPTOR rawSecurityDescriptor, ref uint rawSecurityDescriptorLengthNeeded, DokanFileInfo info) + public int SetFileSecurityNative(string file, ref SECURITY_INFORMATION rawSecurityInformation, ref SECURITY_DESCRIPTOR rawSecurityDescriptor, uint rawSecurityDescriptorLength, DokanFileInfo info) { Log.Trace("Unmount IN SetFileSecurity[{0}]", info.ProcessId); int dokanReturn = Dokan.DOKAN_ERROR; diff --git a/LiquesceSvc/Properties/AssemblyInfo.cs b/LiquesceSvc/Properties/AssemblyInfo.cs index e9c807b..e9e38bf 100644 --- a/LiquesceSvc/Properties/AssemblyInfo.cs +++ b/LiquesceSvc/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2011.3.15.639")] -[assembly: AssemblyFileVersion("2011.3.15.639")] +[assembly: AssemblyVersion("2011.4.27.641")] +[assembly: AssemblyFileVersion("2011.4.27.641")] diff --git a/LiquesceSvcMEF/Properties/AssemblyInfo.cs b/LiquesceSvcMEF/Properties/AssemblyInfo.cs index 285fc6e..c6da9e3 100644 --- a/LiquesceSvcMEF/Properties/AssemblyInfo.cs +++ b/LiquesceSvcMEF/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2011.3.15.17")] -[assembly: AssemblyFileVersion("2011.3.15.17")] +[assembly: AssemblyVersion("2011.4.27.18")] +[assembly: AssemblyFileVersion("2011.4.27.18")] diff --git a/LiquesceTray/Properties/AssemblyInfo.cs b/LiquesceTray/Properties/AssemblyInfo.cs index fe06032..39121e9 100644 --- a/LiquesceTray/Properties/AssemblyInfo.cs +++ b/LiquesceTray/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2011.3.15.60")] -[assembly: AssemblyFileVersion("2011.3.15.60")] +[assembly: AssemblyVersion("2011.4.27.61")] +[assembly: AssemblyFileVersion("2011.4.27.61")] diff --git a/LiquesceTrayMEF/Properties/AssemblyInfo.cs b/LiquesceTrayMEF/Properties/AssemblyInfo.cs index 2b08a13..d9a0874 100644 --- a/LiquesceTrayMEF/Properties/AssemblyInfo.cs +++ b/LiquesceTrayMEF/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2011.3.15.2")] -[assembly: AssemblyFileVersion("2011.3.15.2")] +[assembly: AssemblyVersion("2011.4.27.3")] +[assembly: AssemblyFileVersion("2011.4.27.3")] diff --git a/ServiceMEFs/FolderMEF/Properties/AssemblyInfo.cs b/ServiceMEFs/FolderMEF/Properties/AssemblyInfo.cs index 27e8d56..3e4068a 100644 --- a/ServiceMEFs/FolderMEF/Properties/AssemblyInfo.cs +++ b/ServiceMEFs/FolderMEF/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2011.3.15.12")] -[assembly: AssemblyFileVersion("2011.3.15.12")] +[assembly: AssemblyVersion("2011.4.27.13")] +[assembly: AssemblyFileVersion("2011.4.27.13")] diff --git a/ServiceMEFs/PriorityMEF/PriorityMEF.cs b/ServiceMEFs/PriorityMEF/PriorityMEF.cs new file mode 100644 index 0000000..09ad18f --- /dev/null +++ b/ServiceMEFs/PriorityMEF/PriorityMEF.cs @@ -0,0 +1,23 @@ +using System.ComponentModel.Composition; +using LiquesceSvcMEF; + +namespace PriorityMEF +{ + [Export(typeof(ICreateFactory))] + [ExportMetadata("Description", "Priority")] + public class PriorityMEF : ICreateFactory + { + #region Implementation of ICreateFactory + + /// + /// Creates a new class object that implements IServicePlugin + /// + /// + public IServicePlugin Create() + { + return new PriorityMEFImpl(); + } + + #endregion + } +} diff --git a/ServiceMEFs/PriorityMEF/Properties/AssemblyInfo.cs b/ServiceMEFs/PriorityMEF/Properties/AssemblyInfo.cs index 2ff4162..993d3d2 100644 --- a/ServiceMEFs/PriorityMEF/Properties/AssemblyInfo.cs +++ b/ServiceMEFs/PriorityMEF/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2011.3.15.13")] -[assembly: AssemblyFileVersion("2011.3.15.13")] +[assembly: AssemblyVersion("2011.4.27.15")] +[assembly: AssemblyFileVersion("2011.4.27.15")] diff --git a/ThirdParty/DokanNet/Dokan.cs b/ThirdParty/DokanNet/Dokan.cs index f167cef..d6c2e11 100644 --- a/ThirdParty/DokanNet/Dokan.cs +++ b/ThirdParty/DokanNet/Dokan.cs @@ -111,7 +111,9 @@ public static int DokanMain(DokanOptions options, IDokanOperations operations) UnlockFile = proxy.UnlockFileProxy, GetDiskFreeSpace = proxy.GetDiskFreeSpaceProxy, GetVolumeInformation = proxy.GetVolumeInformationProxy, - Unmount = proxy.UnmountProxy + Unmount = proxy.UnmountProxy, + GetFileSecurity = proxy.GetFileSecurity, + SetFileSecurity = proxy.SetFileSecurity }; return DokanDll.DokanMain(ref dokanOptions, ref dokanOperations); diff --git a/ThirdParty/DokanNet/IDokanOperations.cs b/ThirdParty/DokanNet/IDokanOperations.cs index 620e89c..3c11300 100644 --- a/ThirdParty/DokanNet/IDokanOperations.cs +++ b/ThirdParty/DokanNet/IDokanOperations.cs @@ -84,6 +84,6 @@ int SetFileTimeNative(string filename, ref ComTypes.FILETIME rawCreationTime, re int GetFileSecurityNative(string file, ref SECURITY_INFORMATION rawRequestedInformation, ref SECURITY_DESCRIPTOR rawSecurityDescriptor, uint rawSecurityDescriptorLength, ref uint rawSecurityDescriptorLengthNeeded, DokanFileInfo info); - int SetFileSecurityNative(string file, ref SECURITY_INFORMATION rawSecurityInformation, ref SECURITY_DESCRIPTOR rawSecurityDescriptor, ref uint rawSecurityDescriptorLengthNeeded, DokanFileInfo info); + int SetFileSecurityNative(string file, ref SECURITY_INFORMATION rawSecurityInformation, ref SECURITY_DESCRIPTOR rawSecurityDescriptor, uint rawSecurityDescriptorLength, DokanFileInfo info); } } \ No newline at end of file diff --git a/ThirdParty/DokanNet/Properties/AssemblyInfo.cs b/ThirdParty/DokanNet/Properties/AssemblyInfo.cs index f4e4ea9..6802952 100644 --- a/ThirdParty/DokanNet/Properties/AssemblyInfo.cs +++ b/ThirdParty/DokanNet/Properties/AssemblyInfo.cs @@ -37,5 +37,5 @@ // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("2011.3.15.265")] -[assembly: AssemblyFileVersion("2011.3.15.265")] +[assembly: AssemblyVersion("2011.4.27.266")] +[assembly: AssemblyFileVersion("2011.4.27.266")] diff --git a/ThirdParty/DokanNet/Proxy.cs b/ThirdParty/DokanNet/Proxy.cs index 05dd3b3..809b414 100644 --- a/ThirdParty/DokanNet/Proxy.cs +++ b/ThirdParty/DokanNet/Proxy.cs @@ -852,12 +852,12 @@ public delegate int SetFileSecurityDelegate( IntPtr rawFileName, ref SECURITY_IN ref SECURITY_DESCRIPTOR rawSecurityDescriptor, uint rawSecurityDescriptorLength, ref DOKAN_FILE_INFO rawFileInfo); public int SetFileSecurity( IntPtr rawFileName, ref SECURITY_INFORMATION rawSecurityInformation, - ref SECURITY_DESCRIPTOR rawSecurityDescriptor, ref uint rawSecurityDescriptorLengthNeeded, ref DOKAN_FILE_INFO rawFileInfo) + ref SECURITY_DESCRIPTOR rawSecurityDescriptor, uint rawSecurityDescriptorLength, ref DOKAN_FILE_INFO rawFileInfo) { try { string file = GetFileName(rawFileName); - return operations.SetFileSecurityNative(file, ref rawSecurityInformation, ref rawSecurityDescriptor, ref rawSecurityDescriptorLengthNeeded, ConvertFileInfo(ref rawFileInfo)); + return operations.SetFileSecurityNative(file, ref rawSecurityInformation, ref rawSecurityDescriptor, rawSecurityDescriptorLength, ConvertFileInfo(ref rawFileInfo)); } catch (Exception ex) {