Esempio n. 1
0
        public void TestUnixAgentBadMessage()
        {
            const string socketFileName = "test2.socket";

            if (File.Exists(socketFileName))
            {
                File.Delete(socketFileName);
            }

            using (var agent = new UnixAgent()) {
                agent.StartUnixSocket(socketFileName);
                using (var client = new Mono.Unix.UnixClient(socketFileName))
                    using (var stream = client.GetStream()) {
                        var message = new byte [] { 0, 0, 0, 0 };
                        stream.Write(message, 0, message.Length); // send garbage
                        stream.Flush();
                        var reply = new byte [5];
                        stream.Read(reply, 0, reply.Length);
                        var expected = new byte [] {
                            0, 0, 0, 1,
                            (byte)Agent.Message.SSH_AGENT_FAILURE,
                        };
                        Assert.That(reply, Is.EqualTo(expected));
                    }
            }
        }
Esempio n. 2
0
        public void TestUnixAgentGoodMessage()
        {
            const string socketFileName = "test3.socket";

            if (File.Exists(socketFileName))
            {
                File.Delete(socketFileName);
            }

            using (var agent = new UnixAgent()) {
                agent.StartUnixSocket(socketFileName);
                using (var client = new Mono.Unix.UnixClient(socketFileName))
                    using (var stream = client.GetStream()) {
                        var message = new byte [] {
                            0, 0, 0, 1,
                            (byte)Agent.Message.SSH1_AGENTC_REQUEST_RSA_IDENTITIES,
                        };
                        stream.Write(message, 0, message.Length); // send message
                        stream.Flush();
                        var reply = new byte [9];
                        stream.Read(reply, 0, reply.Length);
                        var expected = new byte [] {
                            0, 0, 0, 5,
                            (byte)Agent.Message.SSH1_AGENT_RSA_IDENTITIES_ANSWER,
                            0, 0, 0, 0,
                        };
                        Assert.That(reply, Is.EqualTo(expected));
                    }
            }
        }
Esempio n. 3
0
        public void TestUnixAgentDispose()
        {
            const string socketFileName = "test1.socket";

            if (File.Exists(socketFileName))
            {
                File.Delete(socketFileName);
            }

            using (var agent = new UnixAgent()) {
                agent.StartUnixSocket(socketFileName);
                Assert.That(File.Exists(socketFileName), Is.True,
                            "Failed to create socket file");
            }
            // check that temporary directory was cleaned up after dispose
            Assert.That(File.Exists(socketFileName), Is.False,
                        "Socket file was not deleted");
        }