Skip to content

Commit 76adc09

Browse files
committed
Relese 2.7.5.2
升级 SourceLink 包并移除 RecyclableMemoryStream
1 parent 69da777 commit 76adc09

23 files changed

+81
-119
lines changed

common.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<PropertyGroup>
3-
<Version>2.7.5.1</Version>
3+
<Version>2.7.5.2</Version>
44
<IncludeSymbols>true</IncludeSymbols>
55
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
66
<NoWarn>1591</NoWarn>
@@ -30,9 +30,9 @@
3030
<NoWarn>1701;1702;CS1591;CS1573</NoWarn>
3131
</PropertyGroup>
3232
<ItemGroup>
33-
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1">
33+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0">
3434
<PrivateAssets>all</PrivateAssets>
35-
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
35+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3636
</PackageReference>
3737
</ItemGroup>
3838
</Project>

src/EPPlus/EPPlus/Compatibility/ImageCompat.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using OfficeOpenXml.Utils;
1+
using System.IO;
2+
using OfficeOpenXml.Utils;
23
using SixLabors.ImageSharp;
34
using SixLabors.ImageSharp.Formats;
45

@@ -8,7 +9,7 @@ internal class ImageCompat
89
{
910
internal static byte[] GetImageAsByteArray(Image image, IImageFormat format)
1011
{
11-
using (var ms = RecyclableMemoryStream.GetStream())
12+
using (var ms = new MemoryStream())
1213
{
1314
image.Save(ms, format);
1415
return ms.ToArray();

src/EPPlus/EPPlus/Encryption/EncryptionHandler.cs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -173,23 +173,23 @@ private MemoryStream EncryptPackageAgile(byte[] package, ExcelEncryption encrypt
173173
var VerifierHashKey = GetFinalHash(hashProvider, BlockKey_HashValue, baseHash);
174174
var KeyValueKey = GetFinalHash(hashProvider, BlockKey_KeyValue, baseHash);
175175

176-
var ms = RecyclableMemoryStream.GetStream();
176+
var ms = new MemoryStream();
177177
EncryptAgileFromKey(encr, VerifierInputKey, encr.VerifierHashInput, 0, encr.VerifierHashInput.Length, encr.SaltValue, ms);
178178
encr.EncryptedVerifierHashInput = ms.ToArray();
179179

180-
ms = RecyclableMemoryStream.GetStream();
180+
ms = new MemoryStream();
181181
EncryptAgileFromKey(encr, VerifierHashKey, encr.VerifierHash, 0, encr.VerifierHash.Length, encr.SaltValue, ms);
182182
encr.EncryptedVerifierHash = ms.ToArray();
183183

184-
ms = RecyclableMemoryStream.GetStream();
184+
ms = new MemoryStream();
185185
EncryptAgileFromKey(encr, KeyValueKey, encr.KeyValue, 0, encr.KeyValue.Length, encr.SaltValue, ms);
186186
encr.EncryptedKeyValue = ms.ToArray();
187187

188188
xml = encryptionInfo.Xml.OuterXml;
189189

190190
var byXml = Encoding.UTF8.GetBytes(xml);
191191

192-
ms = RecyclableMemoryStream.GetStream();
192+
ms = new MemoryStream();
193193
ms.Write(BitConverter.GetBytes((ushort)4), 0, 2); //Major Version
194194
ms.Write(BitConverter.GetBytes((ushort)4), 0, 2); //Minor Version
195195
ms.Write(BitConverter.GetBytes((uint)0x40), 0, 4); //Reserved
@@ -204,7 +204,7 @@ private MemoryStream EncryptPackageAgile(byte[] package, ExcelEncryption encrypt
204204
//...and the encrypted package
205205
doc.Storage.DataStreams.Add("EncryptedPackage", encrData);
206206

207-
ms = RecyclableMemoryStream.GetStream();
207+
ms = new MemoryStream();
208208
doc.Save(ms);
209209
//ms.Write(e,0,e.Length);
210210
return ms;
@@ -226,7 +226,7 @@ private byte[] EncryptDataAgile(byte[] data, EncryptionInfoAgile encryptionInfo,
226226
int segment = 0;
227227

228228
//Encrypt the data
229-
var ms = RecyclableMemoryStream.GetStream();
229+
var ms = new MemoryStream();
230230
ms.Write(BitConverter.GetBytes((ulong)data.Length), 0, 8);
231231
while (pos < data.Length)
232232
{
@@ -248,14 +248,14 @@ private byte[] EncryptDataAgile(byte[] data, EncryptionInfoAgile encryptionInfo,
248248
private void SetHMAC(EncryptionInfoAgile ei, HashAlgorithm hashProvider, byte[] salt, byte[] data)
249249
{
250250
var iv = GetFinalHash(hashProvider, BlockKey_HmacKey, ei.KeyData.SaltValue);
251-
var ms = RecyclableMemoryStream.GetStream();
251+
var ms = new MemoryStream();
252252
EncryptAgileFromKey(ei.KeyEncryptors[0], ei.KeyEncryptors[0].KeyValue, salt, 0L, salt.Length, iv, ms);
253253
ei.DataIntegrity.EncryptedHmacKey = ms.ToArray();
254254

255255
var h = GetHmacProvider(ei.KeyEncryptors[0], salt);
256256
var hmacValue = h.ComputeHash(data);
257257

258-
ms = RecyclableMemoryStream.GetStream();
258+
ms = new MemoryStream();
259259
iv = GetFinalHash(hashProvider, BlockKey_HmacValue, ei.KeyData.SaltValue);
260260
EncryptAgileFromKey(ei.KeyEncryptors[0], ei.KeyEncryptors[0].KeyValue, hmacValue, 0L, hmacValue.Length, iv, ms);
261261
ei.DataIntegrity.EncryptedHmacValue = ms.ToArray();
@@ -308,12 +308,12 @@ private MemoryStream EncryptPackageBinary(byte[] package, ExcelEncryption encryp
308308

309309
//Encrypt the package
310310
byte[] encryptedPackage = EncryptData(encryptionKey, package, false);
311-
MemoryStream ms = RecyclableMemoryStream.GetStream();
311+
MemoryStream ms = new MemoryStream();
312312
ms.Write(BitConverter.GetBytes((ulong)package.Length), 0, 8);
313313
ms.Write(encryptedPackage, 0, encryptedPackage.Length);
314314
doc.Storage.DataStreams.Add("EncryptedPackage", ms.ToArray());
315315

316-
var ret = RecyclableMemoryStream.GetStream();
316+
var ret = new MemoryStream();
317317
doc.Save(ret);
318318

319319
return ret;
@@ -341,7 +341,7 @@ private void CreateDataSpaces(CompoundDocument doc)
341341
}
342342
private byte[] CreateStrongEncryptionDataSpaceStream()
343343
{
344-
MemoryStream ms = RecyclableMemoryStream.GetStream();
344+
MemoryStream ms = new MemoryStream();
345345
BinaryWriter bw = new BinaryWriter(ms);
346346

347347
bw.Write((int)8); //HeaderLength
@@ -356,7 +356,7 @@ private byte[] CreateStrongEncryptionDataSpaceStream()
356356
}
357357
private byte[] CreateVersionStream()
358358
{
359-
MemoryStream ms = RecyclableMemoryStream.GetStream();
359+
MemoryStream ms = new MemoryStream();
360360
BinaryWriter bw = new BinaryWriter(ms);
361361

362362
bw.Write((short)0x3C); //Major
@@ -371,7 +371,7 @@ private byte[] CreateVersionStream()
371371
}
372372
private byte[] CreateDataSpaceMap()
373373
{
374-
MemoryStream ms = RecyclableMemoryStream.GetStream();
374+
MemoryStream ms = new MemoryStream();
375375
BinaryWriter bw = new BinaryWriter(ms);
376376

377377
bw.Write((int)8); //HeaderLength
@@ -391,7 +391,7 @@ private byte[] CreateDataSpaceMap()
391391
}
392392
private byte[] CreateTransformInfoPrimary()
393393
{
394-
MemoryStream ms = RecyclableMemoryStream.GetStream();
394+
MemoryStream ms = new MemoryStream();
395395
BinaryWriter bw = new BinaryWriter(ms);
396396
string TransformID = "{FF9A3F03-56EF-4613-BDD5-5A41C1D07246}";
397397
string TransformName = "Microsoft.Container.EncryptionTransform";
@@ -485,7 +485,7 @@ private byte[] EncryptData(byte[] key, byte[] data, bool useDataSize)
485485

486486
//Encrypt the data
487487
var crypt = aes.CreateEncryptor(key, null);
488-
var ms = RecyclableMemoryStream.GetStream();
488+
var ms = new MemoryStream();
489489
var cs = new CryptoStream(ms, crypt, CryptoStreamMode.Write);
490490
cs.Write(data, 0, data.Length);
491491

@@ -506,7 +506,7 @@ private byte[] EncryptData(byte[] key, byte[] data, bool useDataSize)
506506
}
507507
private MemoryStream GetStreamFromPackage(CompoundDocument doc, ExcelEncryption encryption)
508508
{
509-
//var ret = RecyclableMemoryStream.GetStream();
509+
//var ret = new MemoryStream();
510510
if (doc.Storage.DataStreams.ContainsKey("EncryptionInfo") ||
511511
doc.Storage.DataStreams.ContainsKey("EncryptedPackage"))
512512
{
@@ -553,7 +553,7 @@ private MemoryStream DecryptDocument(byte[] data, EncryptionInfo encryptionInfo,
553553

554554
private MemoryStream DecryptAgile(EncryptionInfoAgile encryptionInfo, string password, long size, byte[] encryptedData, byte[] data)
555555
{
556-
MemoryStream doc = RecyclableMemoryStream.GetStream();
556+
MemoryStream doc = new MemoryStream();
557557

558558
if (encryptionInfo.KeyData.CipherAlgorithm == eCipherAlgorithm.AES)
559559
{
@@ -665,7 +665,7 @@ private HashAlgorithm GetHashProvider(EncryptionInfoAgile.EncryptionKeyData encr
665665
#endif
666666
private MemoryStream DecryptBinary(EncryptionInfoBinary encryptionInfo, string password, long size, byte[] encryptedData)
667667
{
668-
MemoryStream doc = RecyclableMemoryStream.GetStream();
668+
MemoryStream doc = new MemoryStream();
669669

670670
if (encryptionInfo.Header.AlgID == AlgorithmID.AES128 || (encryptionInfo.Header.AlgID == AlgorithmID.Flags && ((encryptionInfo.Flags & (Flags.fAES | Flags.fExternal | Flags.fCryptoAPI)) == (Flags.fAES | Flags.fCryptoAPI)))
671671
||
@@ -690,7 +690,7 @@ private MemoryStream DecryptBinary(EncryptionInfoBinary encryptionInfo, string p
690690
key,
691691
null);
692692

693-
var dataStream = RecyclableMemoryStream.GetStream(encryptedData);
693+
var dataStream = new MemoryStream(encryptedData);
694694
var cryptoStream = new CryptoStream(dataStream,
695695
decryptor,
696696
CryptoStreamMode.Read);
@@ -730,14 +730,14 @@ private bool IsPasswordValid(byte[] key, EncryptionInfoBinary encryptionInfo)
730730

731731

732732
//Decrypt the verifier
733-
MemoryStream dataStream = RecyclableMemoryStream.GetStream(encryptionInfo.Verifier.EncryptedVerifier);
733+
MemoryStream dataStream = new MemoryStream(encryptionInfo.Verifier.EncryptedVerifier);
734734
CryptoStream cryptoStream = new CryptoStream(dataStream,
735735
decryptor,
736736
CryptoStreamMode.Read);
737737
var decryptedVerifier = new byte[16];
738738
cryptoStream.Read(decryptedVerifier, 0, 16);
739739

740-
dataStream = RecyclableMemoryStream.GetStream(encryptionInfo.Verifier.EncryptedVerifierHash);
740+
dataStream = new MemoryStream(encryptionInfo.Verifier.EncryptedVerifierHash);
741741

742742
cryptoStream = new CryptoStream(dataStream,
743743
decryptor,
@@ -803,7 +803,7 @@ private byte[] DecryptAgileFromKey(EncryptionInfoAgile.EncryptionKeyData encr, b
803803
FixHashSize(iv, encr.BlockSize, 0x36));
804804

805805

806-
MemoryStream dataStream = RecyclableMemoryStream.GetStream(encryptedData);
806+
MemoryStream dataStream = new MemoryStream(encryptedData);
807807

808808
CryptoStream cryptoStream = new CryptoStream(dataStream,
809809
decryptor,

src/EPPlus/EPPlus/Encryption/EncryptionHeader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ internal class EncryptionHeader
8080
internal string CSPName; //SHOULD<11> be set to either "Microsoft Enhanced RSA and AES Cryptographic Provider" or "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)" as a null-terminated Unicode string.
8181
internal byte[] WriteBinary()
8282
{
83-
MemoryStream ms = RecyclableMemoryStream.GetStream();
83+
MemoryStream ms = new MemoryStream();
8484
BinaryWriter bw = new BinaryWriter(ms);
8585

8686
bw.Write((int)Flags);

src/EPPlus/EPPlus/Encryption/EncryptionInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ internal override void Read(byte[] data)
566566
}
567567
internal byte[] WriteBinary()
568568
{
569-
MemoryStream ms = RecyclableMemoryStream.GetStream();
569+
MemoryStream ms = new MemoryStream();
570570
BinaryWriter bw = new BinaryWriter(ms);
571571

572572
bw.Write(MajorVersion);

src/EPPlus/EPPlus/Encryption/EncryptionVerifier.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ internal class EncryptionVerifier
4545
internal byte[] EncryptedVerifierHash; //(variable): An array of bytes that contains the encrypted form of the hash of the randomly generated Verifier value. The length of the array MUST be the size of the encryption block size multiplied by the number of blocks needed to encrypt the hash of the Verifier. If the encryption algorithm is RC4, the length MUST be 20 bytes. If the encryption algorithm is AES, the length MUST be 32 bytes.
4646
internal byte[] WriteBinary()
4747
{
48-
MemoryStream ms = RecyclableMemoryStream.GetStream();
48+
MemoryStream ms = new MemoryStream();
4949
BinaryWriter bw = new BinaryWriter(ms);
5050

5151
bw.Write(SaltSize);

src/EPPlus/EPPlus/ExcelPackage.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -555,8 +555,8 @@ private void CreateFromTemplate(FileInfo template, string password)
555555
if (template != null) template.Refresh();
556556
if (template.Exists)
557557
{
558-
if (_stream == null) _stream = RecyclableMemoryStream.GetStream();
559-
var ms = RecyclableMemoryStream.GetStream();
558+
if (_stream == null) _stream = new MemoryStream();
559+
var ms = new MemoryStream();
560560
if (password != null)
561561
{
562562
Encryption.IsEncrypted = true;
@@ -592,8 +592,8 @@ private void CreateFromTemplate(FileInfo template, string password)
592592
}
593593
private void ConstructNewFile(string password)
594594
{
595-
var ms = RecyclableMemoryStream.GetStream();
596-
if (_stream == null) _stream = RecyclableMemoryStream.GetStream();
595+
var ms = new MemoryStream();
596+
if (_stream == null) _stream = new MemoryStream();
597597
if (File != null) File.Refresh();
598598
if (File != null && File.Exists)
599599
{
@@ -842,7 +842,7 @@ public void Save()
842842
{
843843
if (Encryption.IsEncrypted)
844844
{
845-
var ms = RecyclableMemoryStream.GetStream();
845+
var ms = new MemoryStream();
846846
_package.Save(ms);
847847
byte[] file = ms.ToArray();
848848
EncryptedPackageHandler eph = new EncryptedPackageHandler();
@@ -999,7 +999,7 @@ internal void CloseStream()
999999
_stream.Dispose();
10001000
}
10011001

1002-
_stream = RecyclableMemoryStream.GetStream();
1002+
_stream = new MemoryStream();
10031003
}
10041004
/// <summary>
10051005
/// The output stream. This stream is the not the encrypted package.
@@ -1166,7 +1166,7 @@ internal async Task<byte[]> GetAsByteArrayAsync(bool save)
11661166
/// <param name="input">The input.</param>
11671167
public void Load(Stream input)
11681168
{
1169-
Load(input, RecyclableMemoryStream.GetStream(), null);
1169+
Load(input, new MemoryStream(), null);
11701170
}
11711171
/// <summary>
11721172
/// Loads the specified package data from a stream.
@@ -1175,7 +1175,7 @@ public void Load(Stream input)
11751175
/// <param name="Password">The password to decrypt the document</param>
11761176
public void Load(Stream input, string Password)
11771177
{
1178-
Load(input, RecyclableMemoryStream.GetStream(), Password);
1178+
Load(input, new MemoryStream(), Password);
11791179
}
11801180
/// <summary>
11811181
///
@@ -1205,7 +1205,7 @@ private void Load(Stream input, Stream output, string Password)
12051205
}
12061206
else
12071207
{
1208-
Stream ms = RecyclableMemoryStream.GetStream();
1208+
Stream ms = new MemoryStream();
12091209
this._stream = output;
12101210
if (Password != null)
12111211
{

src/EPPlus/EPPlus/ExcelWorksheet.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,7 @@ private void CreateXml()
899899

900900
// now release stream buffer (already converted whole Xml into XmlDocument Object and String)
901901
stream.Dispose();
902-
packPart.Stream = RecyclableMemoryStream.GetStream();
902+
packPart.Stream = new MemoryStream();
903903

904904
//first char is invalid sometimes??
905905
if (xml[0] != '<')

src/EPPlus/EPPlus/Magicodes.IE.EPPlus.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@
5353
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.0" />
5454
</ItemGroup>
5555
<ItemGroup>
56-
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="2.1.1" />
5756
<PackageReference Include="SkiaSharp" Version="2.88.6" />
5857
</ItemGroup>
5958

src/EPPlus/EPPlus/Packaging/DotNetZip/ZipFile.AddUpdate.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1199,7 +1199,7 @@ public ZipEntry AddEntry(string entryName, string content, System.Text.Encoding
11991199
{
12001200
// cannot employ a using clause here. We need the stream to
12011201
// persist after exit from this method.
1202-
var ms = RecyclableMemoryStream.GetStream();
1202+
var ms = new MemoryStream();
12031203

12041204
// cannot use a using clause here; StreamWriter takes
12051205
// ownership of the stream and Disposes it before we are ready.
@@ -1858,7 +1858,7 @@ private void RemoveEntryForUpdate(string entryName)
18581858
public ZipEntry AddEntry(string entryName, byte[] byteContent)
18591859
{
18601860
if (byteContent == null) throw new ArgumentException("bad argument", "byteContent");
1861-
var ms = RecyclableMemoryStream.GetStream(byteContent);
1861+
var ms = new MemoryStream(byteContent);
18621862
return AddEntry(entryName, ms);
18631863
}
18641864

0 commit comments

Comments
 (0)