bool CreateKeyPair() { string key_file_name = DateTime.Now.ToString("yyyy-MM-dd_HH\\hmm") + ".key"; string computer_name = Dns.GetHostName(); if (computer_name.EndsWith(".local", StringComparison.InvariantCultureIgnoreCase) || computer_name.EndsWith(".config", StringComparison.InvariantCultureIgnoreCase)) { computer_name = computer_name.Substring(0, computer_name.LastIndexOf(".", StringComparison.InvariantCulture)); } string arguments = "-t rsa " + // Crypto type "-b 4096 " + // Key size "-P \"\" " + // No password "-C \"" + computer_name + " (SparkleShare)\" " + // Key comment "-f \"" + key_file_name + "\""; var ssh_keygen = new Command("ssh-keygen", arguments); ssh_keygen.StartInfo.WorkingDirectory = Path; ssh_keygen.StartAndWaitForExit(); if (ssh_keygen.ExitCode == 0) { Logger.LogInfo("Auth", "Created key pair: " + key_file_name); ImportKeys(); return(true); } Logger.LogInfo("Auth", "Could not create key pair"); return(false); }
public override void CreateStartupItem() { // There aren't any bindings in MonoMac to support this yet, so // we call out to an applescript to do the job string args = "-e 'tell application \"System Events\" to " + "make login item at end with properties " + "{path:\"" + NSBundle.MainBundle.BundlePath + "\", hidden:false}'"; var process = new Command ("osascript", args); process.StartAndWaitForExit (); Logger.LogInfo ("Controller", "Added " + NSBundle.MainBundle.BundlePath + " to login items"); }
bool CreateKeyPair() { string key_file_name = DateTime.Now.ToString ("yyyy-MM-dd_HH\\hmm") + ".key"; string computer_name = Dns.GetHostName (); if (computer_name.EndsWith (".local", StringComparison.InvariantCultureIgnoreCase) || computer_name.EndsWith (".config", StringComparison.InvariantCultureIgnoreCase)) computer_name = computer_name.Substring (0, computer_name.LastIndexOf (".", StringComparison.InvariantCulture)); string arguments = "-t rsa " + // Crypto type "-b 4096 " + // Key size "-P \"\" " + // No password "-C \"" + computer_name + " (SparkleShare)\" " + // Key comment "-f \"" + key_file_name + "\""; var ssh_keygen = new Command ("ssh-keygen", arguments); ssh_keygen.StartInfo.WorkingDirectory = Path; ssh_keygen.StartAndWaitForExit (); if (ssh_keygen.ExitCode == 0) { Logger.LogInfo ("Auth", "Created key pair: " + key_file_name); ImportKeys (); return true; } Logger.LogInfo ("Auth", "Could not create key pair"); return false; }
public override void SetFolderIcon() { var gvfs_set_attribute = new Command ("gvfs-set-attribute", "\"" + Configuration.DefaultConfiguration.FoldersPath + "\" " + "metadata::custom-icon-name org.sparkleshare.SparkleShare"); gvfs_set_attribute.StartInfo.EnvironmentVariables ["XDG_DATA_HOME"] = Path.Combine (Config.HomePath, ".local", "share"); gvfs_set_attribute.StartAndWaitForExit (); }