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)); } } } }
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); }