コード例 #1
0
        public void GetDateTest()
        {
            string data     = Awaiting.GetDate();
            int    expected = 8;
            int    date     = data.Length;

            Assert.AreEqual(expected, date);
        }
コード例 #2
0
        /// <summary>
        /// IStateDependentHandler.Awaiting implementation for AuthenticationState.Awaiting
        /// </summary>
        /// <returns>True if connection left open, false if not</returns>
        async Task <bool> Plugin.IStateDependentHandler.Awaiting(Client client, Plugin.ISocksMessage message)
        {
            Awaiting typedMessage = message as Awaiting;

            if (typedMessage.SocksVersion == Socks.Constants.Socks.Version)
            {
                // TODO: Make other authentication methods available. Not?
                if (typedMessage.AvailableMethods.Contains(Socks.Constants.AuthenticationMethod.UsernamePassword))
                {
                    client.Data.AuthenticationMethod = Socks.Constants.AuthenticationMethod.UsernamePassword;
                    client.Data.AuthenticationState  = Socks.Constants.AuthenticationState.Authenticating;
                    await client.Send(new byte[] { Socks.Constants.Socks.Version, (byte)client.Data.AuthenticationMethod });

                    return(true);
                }
                else
                {
                    await client.Send(new byte[] { Socks.Constants.Socks.Version, (byte)Socks.Constants.AuthenticationMethod.NoAcceptableMethod });
                }
            }
            return(false);
        }