Exemplo n.º 1
0
        bool Authenticate(IPooledSocket socket)
        {
            var       isAuthenticated = true;
            const int authContinue    = 0x21;

            SaslStep step = new SaslStart(_provider);

            socket.Write(step.GetBuffer());
            while (!step.ReadResponse(socket).Success)
            {
                if (step.StatusCode == authContinue)
                {
                    step = new SaslContinue(_provider, step.Data);
                    socket.Write(step.GetBuffer());
                }
                else
                {
                    isAuthenticated = false;
                    break;
                }
            }
            return(isAuthenticated);
        }