Changeset 2470


Ignore:
Timestamp:
3/13/2012 5:08:26 AM (2 years ago)
Author:
lowjoel
Message:

Compile fixes.

Location:
branches/eraser6/pluginsRewrite
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/ErasureTargets/FileSystemObjectErasureTarget.cs

    r2468 r2470  
    331331                catch (SharingViolationException) 
    332332                { 
    333                     if (!ManagerLibrary.Settings.ForceUnlockLockedFiles) 
     333                    if (!Host.Instance.Settings.ForceUnlockLockedFiles) 
    334334                        throw; 
    335335 
     
    368368            } 
    369369        } 
    370  
    371         /// <summary> 
    372         /// Writes a file for plausible deniability over the current stream. 
    373         /// </summary> 
    374         /// <param name="stream">The stream to write the data to.</param> 
    375         protected static void CopyPlausibleDeniabilityFile(Stream stream) 
    376         { 
    377             //Get the template file to copy 
    378             FileInfo shadowFileInfo; 
    379             { 
    380                 string shadowFile = null; 
    381                 List<string> entries = new List<string>( 
    382                     Host.Instance.Settings.PlausibleDeniabilityFiles); 
    383                 IPrng prng = Host.Instance.Prngs.ActivePrng; 
    384                 do 
    385                 { 
    386                     if (entries.Count == 0) 
    387                         throw new FatalException(S._("Plausible deniability was selected, " + 
    388                             "but no decoy files were found. The current file has been only " + 
    389                             "replaced with random data.")); 
    390  
    391                     //Get an item from the list of files, and then check that the item exists. 
    392                     int index = prng.Next(entries.Count - 1); 
    393                     shadowFile = entries[index]; 
    394                     if (File.Exists(shadowFile) || Directory.Exists(shadowFile)) 
    395                     { 
    396                         if ((File.GetAttributes(shadowFile) & FileAttributes.Directory) != 0) 
    397                         { 
    398                             DirectoryInfo dir = new DirectoryInfo(shadowFile); 
    399                             FileInfo[] files = dir.GetFiles("*", SearchOption.AllDirectories); 
    400                             entries.Capacity += files.Length; 
    401                             foreach (FileInfo f in files) 
    402                                 entries.Add(f.FullName); 
    403                         } 
    404                         else 
    405                             shadowFile = entries[index]; 
    406                     } 
    407                     else 
    408                         shadowFile = null; 
    409  
    410                     entries.RemoveAt(index); 
    411                 } 
    412                 while (string.IsNullOrEmpty(shadowFile)); 
    413                 shadowFileInfo = new FileInfo(shadowFile); 
    414             } 
    415  
    416             //Dump the copy (the first 4MB, or less, depending on the file size and size of 
    417             //the original file) 
    418             long amountToCopy = Math.Min(stream.Length, 
    419                 Math.Min(4 * 1024 * 1024, shadowFileInfo.Length)); 
    420             using (FileStream shadowFileStream = shadowFileInfo.OpenRead()) 
    421             { 
    422                 while (stream.Position < amountToCopy) 
    423                 { 
    424                     byte[] buf = new byte[524288]; 
    425                     int bytesRead = shadowFileStream.Read(buf, 0, buf.Length); 
    426  
    427                     //Stop bothering if the input stream is at the end 
    428                     if (bytesRead == 0) 
    429                         break; 
    430  
    431                     //Dump the read contents onto the file to be deleted 
    432                     stream.Write(buf, 0, 
    433                         (int)Math.Min(bytesRead, amountToCopy - stream.Position)); 
    434                 } 
    435             } 
    436         } 
    437370    } 
    438371} 
  • branches/eraser6/pluginsRewrite/Eraser.DefaultPlugins/FileSystems/Windows.cs

    r2464 r2470  
    210210                    } 
    211211                } 
     212        } 
     213 
     214 
     215        /// <summary> 
     216        /// Writes a file for plausible deniability over the current stream. 
     217        /// </summary> 
     218        /// <param name="stream">The stream to write the data to.</param> 
     219        private static void CopyPlausibleDeniabilityFile(Stream stream) 
     220        { 
     221            //Get the template file to copy 
     222            FileInfo shadowFileInfo; 
     223            { 
     224                string shadowFile = null; 
     225                List<string> entries = new List<string>( 
     226                    Host.Instance.Settings.PlausibleDeniabilityFiles); 
     227                IPrng prng = Host.Instance.Prngs.ActivePrng; 
     228                do 
     229                { 
     230                    if (entries.Count == 0) 
     231                        throw new FatalException(S._("Plausible deniability was selected, " + 
     232                            "but no decoy files were found. The current file has been only " + 
     233                            "replaced with random data.")); 
     234 
     235                    //Get an item from the list of files, and then check that the item exists. 
     236                    int index = prng.Next(entries.Count - 1); 
     237                    shadowFile = entries[index]; 
     238                    if (File.Exists(shadowFile) || Directory.Exists(shadowFile)) 
     239                    { 
     240                        if ((File.GetAttributes(shadowFile) & FileAttributes.Directory) != 0) 
     241                        { 
     242                            DirectoryInfo dir = new DirectoryInfo(shadowFile); 
     243                            FileInfo[] files = dir.GetFiles("*", SearchOption.AllDirectories); 
     244                            entries.Capacity += files.Length; 
     245                            foreach (FileInfo f in files) 
     246                                entries.Add(f.FullName); 
     247                        } 
     248                        else 
     249                            shadowFile = entries[index]; 
     250                    } 
     251                    else 
     252                        shadowFile = null; 
     253 
     254                    entries.RemoveAt(index); 
     255                } 
     256                while (string.IsNullOrEmpty(shadowFile)); 
     257                shadowFileInfo = new FileInfo(shadowFile); 
     258            } 
     259 
     260            //Dump the copy (the first 4MB, or less, depending on the file size and size of 
     261            //the original file) 
     262            long amountToCopy = Math.Min(stream.Length, 
     263                Math.Min(4 * 1024 * 1024, shadowFileInfo.Length)); 
     264            using (FileStream shadowFileStream = shadowFileInfo.OpenRead()) 
     265            { 
     266                while (stream.Position < amountToCopy) 
     267                { 
     268                    byte[] buf = new byte[524288]; 
     269                    int bytesRead = shadowFileStream.Read(buf, 0, buf.Length); 
     270 
     271                    //Stop bothering if the input stream is at the end 
     272                    if (bytesRead == 0) 
     273                        break; 
     274 
     275                    //Dump the read contents onto the file to be deleted 
     276                    stream.Write(buf, 0, 
     277                        (int)Math.Min(bytesRead, amountToCopy - stream.Position)); 
     278                } 
     279            } 
    212280        } 
    213281 
  • branches/eraser6/pluginsRewrite/Eraser.Manager/DirectExecutor.cs

    r2440 r2470  
    3232using Eraser.Util; 
    3333using Eraser.Util.ExtensionMethods; 
     34using Eraser.Plugins; 
    3435using Eraser.Plugins.ExtensionPoints; 
    3536 
Note: See TracChangeset for help on using the changeset viewer.