diff options
| author | Luke <luke.pulverenti@gmail.com> | 2017-07-01 12:24:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-01 12:24:26 -0400 |
| commit | ff3713153ad2317e1c196f33ac2cba61b449a00e (patch) | |
| tree | 84d2e6ed5bcb556a2395603b6403c8e992535e6b /Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs | |
| parent | fad71a6c7d12c8b207cdf473c7dd7daafa53c174 (diff) | |
| parent | 2dcad6b5977f5c5be81b18c42506ed8ad3fb73b6 (diff) | |
Merge pull request #2739 from MediaBrowser/beta
Beta
Diffstat (limited to 'Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs')
| -rw-r--r-- | Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs | 136 |
1 files changed, 70 insertions, 66 deletions
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs b/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs index 853364f8e..b3509cd78 100644 --- a/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs +++ b/Emby.Common.Implementations/IO/SharpCifs/Smb/NtlmAuthenticator.cs @@ -16,78 +16,82 @@ // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA namespace SharpCifs.Smb { - /// <summary>This class can be extended by applications that wish to trap authentication related exceptions and automatically retry the exceptional operation with different credentials. - /// </summary> - /// <remarks>This class can be extended by applications that wish to trap authentication related exceptions and automatically retry the exceptional operation with different credentials. Read <a href="../../../authhandler.html">jCIFS Exceptions and NtlmAuthenticator</a> for complete details. - /// </remarks> - public abstract class NtlmAuthenticator - { - private static NtlmAuthenticator _auth; + /// <summary> + /// This class can be extended by applications that wish to trap authentication related exceptions and automatically retry the exceptional operation with different credentials. + /// </summary> + /// <remarks> + /// This class can be extended by applications that wish to trap authentication related exceptions and automatically retry the exceptional operation with different credentials. Read <a href="../../../authhandler.html">jCIFS Exceptions and NtlmAuthenticator</a> for complete details. + /// </remarks> + public abstract class NtlmAuthenticator + { + private static NtlmAuthenticator _auth; - private string _url; + private string _url; - private SmbAuthException _sae; + private SmbAuthException _sae; - private void Reset() - { - _url = null; - _sae = null; - } + private void Reset() + { + _url = null; + _sae = null; + } - /// <summary>Set the default <tt>NtlmAuthenticator</tt>.</summary> - /// <remarks>Set the default <tt>NtlmAuthenticator</tt>. Once the default authenticator is set it cannot be changed. Calling this metho again will have no effect. - /// </remarks> - public static void SetDefault(NtlmAuthenticator a) - { - lock (typeof(NtlmAuthenticator)) - { - if (_auth != null) - { - return; - } - _auth = a; - } - } + /// <summary>Set the default <tt>NtlmAuthenticator</tt>.</summary> + /// <remarks> + /// Set the default <tt>NtlmAuthenticator</tt>. Once the default authenticator is set it cannot be changed. Calling this metho again will have no effect. + /// </remarks> + public static void SetDefault(NtlmAuthenticator a) + { + lock (typeof(NtlmAuthenticator)) + { + if (_auth != null) + { + return; + } + _auth = a; + } + } - protected internal string GetRequestingUrl() - { - return _url; - } + protected internal string GetRequestingUrl() + { + return _url; + } - protected internal SmbAuthException GetRequestingException() - { - return _sae; - } + protected internal SmbAuthException GetRequestingException() + { + return _sae; + } - /// <summary>Used internally by jCIFS when an <tt>SmbAuthException</tt> is trapped to retrieve new user credentials. - /// </summary> - /// <remarks>Used internally by jCIFS when an <tt>SmbAuthException</tt> is trapped to retrieve new user credentials. - /// </remarks> - public static NtlmPasswordAuthentication RequestNtlmPasswordAuthentication(string - url, SmbAuthException sae) - { - if (_auth == null) - { - return null; - } - lock (_auth) - { - _auth._url = url; - _auth._sae = sae; - return _auth.GetNtlmPasswordAuthentication(); - } - } + /// <summary> + /// Used internally by jCIFS when an <tt>SmbAuthException</tt> is trapped to retrieve new user credentials. + /// </summary> + /// <remarks> + /// Used internally by jCIFS when an <tt>SmbAuthException</tt> is trapped to retrieve new user credentials. + /// </remarks> + public static NtlmPasswordAuthentication RequestNtlmPasswordAuthentication(string url, + SmbAuthException sae) + { + if (_auth == null) + { + return null; + } + lock (_auth) + { + _auth._url = url; + _auth._sae = sae; + return _auth.GetNtlmPasswordAuthentication(); + } + } - /// <summary>An application extending this class must provide an implementation for this method that returns new user credentials try try when accessing SMB resources described by the <tt>getRequestingURL</tt> and <tt>getRequestingException</tt> methods. - /// </summary> - /// <remarks> - /// An application extending this class must provide an implementation for this method that returns new user credentials try try when accessing SMB resources described by the <tt>getRequestingURL</tt> and <tt>getRequestingException</tt> methods. - /// If this method returns <tt>null</tt> the <tt>SmbAuthException</tt> that triggered the authenticator check will simply be rethrown. The default implementation returns <tt>null</tt>. - /// </remarks> - protected internal virtual NtlmPasswordAuthentication GetNtlmPasswordAuthentication - () - { - return null; - } - } + /// <summary>An application extending this class must provide an implementation for this method that returns new user credentials try try when accessing SMB resources described by the <tt>getRequestingURL</tt> and <tt>getRequestingException</tt> methods. + /// </summary> + /// <remarks> + /// An application extending this class must provide an implementation for this method that returns new user credentials try try when accessing SMB resources described by the <tt>getRequestingURL</tt> and <tt>getRequestingException</tt> methods. + /// If this method returns <tt>null</tt> the <tt>SmbAuthException</tt> that triggered the authenticator check will simply be rethrown. The default implementation returns <tt>null</tt>. + /// </remarks> + protected internal virtual NtlmPasswordAuthentication GetNtlmPasswordAuthentication() + { + return null; + } + } } |
