Exemple #1
0
        public static void FromConnectionString(SSHConnectionDetails conn)
        {
            string sshConnectionString = conn.ConnectionString;

            if (sshConnectionString.Length > 0)
            {
                if (System.IO.File.Exists(sshConnectionString))
                {
                    sshConnectionString = System.IO.File.ReadAllText(sshConnectionString);
                }

                string[] pa = sshConnectionString.Split(';');
                foreach (string s in pa)
                {
                    if (s.ToLower().StartsWith("name="))
                    {
                        conn.ConnectionName = s.Substring("name=".Length);
                    }
                    if (s.ToLower().StartsWith("computer="))
                    {
                        string computerName = s.Substring("computer=".Length);
                        int    port         = 22;
                        if (computerName.Contains(':') && computerName.Split(':')[1].IsInteger())
                        {
                            port         = int.Parse(computerName.Split(':')[1]);
                            computerName = computerName.Split(':')[0];
                        }
                        conn.ComputerName = computerName;
                        conn.SSHPort      = port;
                    }
                    if (s.ToLower().StartsWith("secopt="))
                    {
                        conn.SSHSecurityOption = SSHSecurityOptionTypeConverter.FromString(s.Substring("secopt=".Length));
                    }
                    if (s.ToLower().StartsWith("user="******"user="******"pass="******"pass="******"privatekeyfile="))
                    {
                        conn.PrivateKeyFile = s.Substring("privatekeyfile=".Length);
                    }
                    if (s.ToLower().StartsWith("passphrase="))
                    {
                        conn.PassPhrase = s.Substring("passphrase=".Length);
                    }
                    if (s.ToLower().StartsWith("persistent="))
                    {
                        conn.Persistent = FormatUtils.NBool(s.Substring("persistent=".Length));
                    }
                }
            }
        }
Exemple #2
0
        public static SSHConnectionDetails FromXmlElement(System.Xml.XmlElement node)
        {
            SSHConnectionDetails conn = new SSHConnectionDetails();

            conn.UseConnectionString = node.ReadXmlElementAttr("useConnStr", false);
            conn.ConnectionString    = node.ReadXmlElementAttr("connStr", "");

            if (conn.ConnectionString.Length > 0) // conn.UseConnectionString)
            {
                //Parse ConnectionString
                FromConnectionString(conn);

                //string sshConnectionString = conn.ConnectionString;
                //if (sshConnectionString.Length > 0)
                //{
                //    if (System.IO.File.Exists(sshConnectionString))
                //    {
                //        sshConnectionString = System.IO.File.ReadAllText(sshConnectionString);
                //    }

                //    string[] pa = sshConnectionString.Split(';');
                //    foreach (string s in pa)
                //    {
                //        if (s.ToLower().StartsWith("name="))
                //        {
                //            conn.ConnectionName = s.Substring("name=".Length);
                //        }
                //        if (s.ToLower().StartsWith("computer="))
                //        {
                //            string computerName = s.Substring("computer=".Length);
                //            int port = 22;
                //            if (computerName.Contains(':') && computerName.Split(':')[1].IsInteger())
                //            {
                //                port = int.Parse(computerName.Split(':')[1]);
                //                computerName = computerName.Split(':')[0];
                //            }
                //            conn.ComputerName = computerName;
                //            conn.SSHPort = port;
                //        }
                //        if (s.ToLower().StartsWith("secopt="))
                //        {
                //            conn.SSHSecurityOption = SSHSecurityOptionTypeConverter.FromString(s.Substring("secopt=".Length));
                //        }
                //        if (s.ToLower().StartsWith("user="******"user="******"pass="******"pass="******"privatekeyfile="))
                //        {
                //            conn.PrivateKeyFile = s.Substring("privatekeyfile=".Length);
                //        }
                //        if (s.ToLower().StartsWith("passphrase="))
                //        {
                //            conn.PassPhrase = s.Substring("passphrase=".Length);
                //        }
                //        if (s.ToLower().StartsWith("persistent="))
                //        {
                //            conn.Persistent = FormatUtils.NBool(s.Substring("persistent=".Length));
                //        }
                //    }
                //}
            }
            else
            {
                conn.SSHSecurityOption = SSHSecurityOptionTypeConverter.FromString(node.ReadXmlElementAttr("sshSecOpt", "password"));
                conn.ComputerName      = node.ReadXmlElementAttr("machine", ".");
                conn.SSHPort           = node.ReadXmlElementAttr("sshPort", 22);
                conn.UserName          = node.ReadXmlElementAttr("userName", "");
                conn.Password          = node.ReadXmlElementAttr("password", "");
                conn.PrivateKeyFile    = node.ReadXmlElementAttr("privateKeyFile", "");
                conn.PassPhrase        = node.ReadXmlElementAttr("passPhrase", "");
                conn.Persistent        = node.ReadXmlElementAttr("persistent", false);
                conn.ConnectionName    = node.ReadXmlElementAttr("name", "");
                conn.ConnectionString  = FormatSSHConnection(conn);
            }
            //if (!conn.UseConnectionString || conn.ConnectionString.Length == 0)
            //{
            //    conn.SSHSecurityOption = SSHSecurityOptionTypeConverter.FromString(node.ReadXmlElementAttr("sshSecOpt", "password"));
            //    conn.ComputerName = node.ReadXmlElementAttr("machine", ".");
            //    conn.SSHPort = node.ReadXmlElementAttr("sshPort", 22);
            //    conn.UserName = node.ReadXmlElementAttr("userName", "");
            //    conn.Password = node.ReadXmlElementAttr("password", "");
            //    conn.PrivateKeyFile = node.ReadXmlElementAttr("privateKeyFile", "");
            //    conn.PassPhrase = node.ReadXmlElementAttr("passPhrase", "");
            //    conn.Persistent = node.ReadXmlElementAttr("persistent", false);
            //    conn.ConnectionName = node.ReadXmlElementAttr("name", "");
            //}

            return(conn);
        }