Esempio n. 1
0
        private void CheckCredentials()
        {
            lastError = CredentialError.None;

            var sshClient = new SshClient(RemoteFacilities.NewConnectionInfo(Host.Text, (int)Port.Value, Username.Text, Password.Password));

            try
            {
                sshClient.Connect();
                if (sshClient.IsConnected)
                {
                    var command = sshClient.CreateCommand("cd " + Location.Text);
                    // Ignore output
                    command.Execute();
                    if (!string.IsNullOrEmpty(command.Error))
                    {
                        lastError = CredentialError.InvalidPath;
                    }
                }
            }
            catch (Exception e) when(e is SshException || e is SocketException)
            {
                lastError = CredentialError.InvalidHost;
            }
            catch (SshAuthenticationException)
            {
                lastError = CredentialError.InvalidUserOrPassword;
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Initialize instance of <see cref="CredentialsDialog"/> using the editor dialog service <paramref name="service"/>.
 /// </summary>
 /// <param name="service">Editor dialog service to use to display various dialogs.</param>
 public CredentialsDialog(IEditorDialogService service) : this()
 {
     // Setup our dialogs using saved settings.
     Service           = service;
     Host.Text         = StrideEditorSettings.Host.GetValue();
     Port.Value        = StrideEditorSettings.Port.GetValue();
     Username.Text     = StrideEditorSettings.Username.GetValue();
     Password.Password = RemoteFacilities.Decrypt(StrideEditorSettings.Password.GetValue());
     Location.Text     = StrideEditorSettings.Location.GetValue();
 }
Esempio n. 3
0
 /// <summary>
 /// Action executed when pressing the OK button.
 /// </summary>
 /// <param name="sender">Not used.</param>
 /// <param name="e">Not used.</param>
 private void OnOk(object sender, RoutedEventArgs e)
 {
     CheckCredentials();
     if (lastError == CredentialError.None)
     {
         StrideEditorSettings.Host.SetValue(Host.Text);
         StrideEditorSettings.Port.SetValue((int)Port.Value);
         StrideEditorSettings.Username.SetValue(Username.Text);
         StrideEditorSettings.Password.SetValue(RemoteFacilities.Encrypt(Password.Password));
         StrideEditorSettings.Location.SetValue(Location.Text);
         StrideEditorSettings.AskForCredentials.SetValue(CheckBox.IsChecked == null || !CheckBox.IsChecked.Value);
         StrideEditorSettings.Save();
         AreCredentialsValid = true;
         Result = Core.Presentation.Services.DialogResult.Ok;
         Close();
     }
     else
     {
         AreCredentialsValid = false;
         DisplayError();
     }
 }