diff options
| author | Vasily <JustAMan@users.noreply.github.com> | 2019-01-05 03:04:54 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-05 03:04:54 +0300 |
| commit | f93cd97f9b66939908f95b601e2cbffa2e9eb63c (patch) | |
| tree | b9adbaa036ec21843c84a8639edc0e481d3f5f83 /Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs | |
| parent | a997bb609fce26e169443d05c48f239a028bb749 (diff) | |
| parent | 6a8b94b0c795b42aa894136445996df4557e8387 (diff) | |
Merge pull request #393 from Bond-009/removesmb
Remove support for opening files via SMB without mounting the share.
This doesn't mean you can't use a SMB share to host your files for Jellyfin. You will just have to mount the share using OS-level mechanisms.
Diffstat (limited to 'Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs')
| -rw-r--r-- | Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs deleted file mode 100644 index 5562f9d36..000000000 --- a/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/MessageDigest.cs +++ /dev/null @@ -1,118 +0,0 @@ -using System; -using System.IO; -using System.Reflection; -using System.Security.Cryptography; - -namespace SharpCifs.Util.Sharpen -{ - public abstract class MessageDigest - { - public void Digest (byte[] buffer, int o, int len) - { - byte[] d = Digest (); - d.CopyTo (buffer, o); - } - - public byte[] Digest (byte[] buffer) - { - Update (buffer); - return Digest (); - } - - public abstract byte[] Digest (); - public abstract int GetDigestLength (); - public static MessageDigest GetInstance (string algorithm) - { - switch (algorithm.ToLower ()) { - case "sha-1": - //System.Security.CryptographySHA1Managed not found - //return new MessageDigest<SHA1Managed> (); - return new MessageDigest<System.Security.Cryptography.SHA1>(); - case "md5": - return new MessageDigest<Md5Managed> (); - } - throw new NotSupportedException (string.Format ("The requested algorithm \"{0}\" is not supported.", algorithm)); - } - - public abstract void Reset (); - public abstract void Update (byte[] b); - public abstract void Update (byte b); - public abstract void Update (byte[] b, int offset, int len); - } - - - public class MessageDigest<TAlgorithm> : MessageDigest where TAlgorithm : HashAlgorithm //, new() //use static `Create` method - { - private TAlgorithm _hash; - //private CryptoStream _stream; //don't work .NET Core - private MemoryStream _stream; - - - public MessageDigest () - { - Init (); - } - - public override byte[] Digest () - { - //CryptoStream -> MemoryStream, needless method - //_stream.FlushFinalBlock (); - - //HashAlgorithm.`Hash` property deleted - //byte[] hash = _hash.Hash; - byte[] hash = _hash.ComputeHash(_stream.ToArray()); - - Reset (); - return hash; - } - - public void Dispose () - { - if (_stream != null) { - _stream.Dispose (); - } - _stream = null; - } - - public override int GetDigestLength () - { - return (_hash.HashSize / 8); - } - - private void Init () - { - //use static `Create` method - //_hash = Activator.CreateInstance<TAlgorithm> (); - var createMethod = typeof(TAlgorithm).GetRuntimeMethod("Create", new Type[0]); - _hash = (TAlgorithm)createMethod.Invoke(null, new object[] {}); - - //HashAlgorithm cannot cast `ICryptoTransform` on .NET Core, gave up using CryptoStream. - //_stream = new CryptoStream(Stream.Null, _hash, CryptoStreamMode.Write); - //_stream = new CryptoStream(_tmpStream, (ICryptoTransform)_hash, CryptoStreamMode.Write); - _stream = new MemoryStream(); - } - - public override void Reset () - { - Dispose (); - Init (); - } - - public override void Update (byte[] input) - { - _stream.Write (input, 0, input.Length); - } - - public override void Update (byte input) - { - _stream.WriteByte (input); - } - - public override void Update (byte[] input, int index, int count) - { - if (count < 0) - Console.WriteLine ("Argh!"); - _stream.Write (input, index, count); - } - } -} |
