Explorar el Código

GSSProvider: Properly handle invalid SPNEGO Token

Tal Aloni hace 7 años
padre
commit
97a48adf4a
Se han modificado 1 ficheros con 9 adiciones y 1 borrados
  1. 9 1
      SMBLibrary/Authentication/GSSAPI/GSSProvider.cs

+ 9 - 1
SMBLibrary/Authentication/GSSAPI/GSSProvider.cs

@@ -54,7 +54,15 @@ namespace SMBLibrary.Authentication.GSSAPI
         public virtual NTStatus AcceptSecurityContext(ref GSSContext context, byte[] inputToken, out byte[] outputToken)
         {
             outputToken = null;
-            SimpleProtectedNegotiationToken spnegoToken = SimpleProtectedNegotiationToken.ReadToken(inputToken, 0);
+            SimpleProtectedNegotiationToken spnegoToken = null;
+            try
+            {
+                spnegoToken = SimpleProtectedNegotiationToken.ReadToken(inputToken, 0);
+            }
+            catch
+            {
+            }
+
             if (spnegoToken != null)
             {
                 if (spnegoToken is SimpleProtectedNegotiationTokenInit)