private void TryGetPasswordViaClient(PasswordRequiredEventArgs args) { var requestId = Guid.NewGuid(); var response = default(PasswordReplyEventArgs); var responseEvent = new AutoResetEvent(false); var responseEventHandler = new CommunicationEventHandler <PasswordReplyEventArgs>((a) => { if (a.RequestId == requestId) { response = a; responseEvent.Set(); } }); runtimeHost.PasswordReceived += responseEventHandler; var communication = sessionContext.ClientProxy.RequestPassword(args.Purpose, requestId); if (communication.Success) { responseEvent.WaitOne(); args.Password = response.Password; args.Success = response.Success; } else { args.Password = default(string); args.Success = false; } runtimeHost.PasswordReceived -= responseEventHandler; }
private void TryGetPasswordViaDialog(PasswordRequiredEventArgs args) { var message = default(TextKey); var title = default(TextKey); switch (args.Purpose) { case PasswordRequestPurpose.LocalAdministrator: message = TextKey.PasswordDialog_LocalAdminPasswordRequired; title = TextKey.PasswordDialog_LocalAdminPasswordRequiredTitle; break; case PasswordRequestPurpose.LocalSettings: message = TextKey.PasswordDialog_LocalSettingsPasswordRequired; title = TextKey.PasswordDialog_LocalSettingsPasswordRequiredTitle; break; case PasswordRequestPurpose.Settings: message = TextKey.PasswordDialog_SettingsPasswordRequired; title = TextKey.PasswordDialog_SettingsPasswordRequiredTitle; break; } var dialog = uiFactory.CreatePasswordDialog(text.Get(message), text.Get(title)); var result = dialog.Show(runtimeWindow); args.Password = result.Password; args.Success = result.Success; }
public void Operations_MustNotWaitForPasswordViaClientIfCommunicationHasFailed() { var args = new PasswordRequiredEventArgs(); currentSettings.KioskMode = KioskMode.CreateNewDesktop; clientProxy.Setup(c => c.RequestPassword(It.IsAny <PasswordRequestPurpose>(), It.IsAny <Guid>())).Returns(new CommunicationResult(false)); sut.TryStart(); sessionSequence.Raise(s => s.ActionRequired += null, args); }
protected bool TryGetPassword(PasswordRequestPurpose purpose, out string password) { var args = new PasswordRequiredEventArgs { Purpose = purpose }; InvokeActionRequired(args); password = args.Password; return(args.Success); }
void moonPdfPanel_PasswordRequired(object sender, PasswordRequiredEventArgs e) { var dlg = new PdfPasswordDialog(); if (dlg.ShowDialog() == true) { e.Password = dlg.Password; } else { e.Cancel = true; } }
private void AskForPassword(PasswordRequiredEventArgs args) { var isStartup = !SessionIsRunning; var isRunningOnDefaultDesktop = SessionIsRunning && Session.Settings.Security.KioskMode == KioskMode.DisableExplorerShell; if (isStartup || isRunningOnDefaultDesktop) { TryGetPasswordViaDialog(args); } else { TryGetPasswordViaClient(args); } }
public void Operations_MustAbortAskingForPasswordViaClientIfDecidedByUser() { var args = new PasswordRequiredEventArgs(); var passwordReceived = new Action <PasswordRequestPurpose, Guid>((p, id) => { runtimeHost.Raise(r => r.PasswordReceived += null, new PasswordReplyEventArgs { RequestId = id, Success = false }); }); currentSettings.KioskMode = KioskMode.CreateNewDesktop; clientProxy.Setup(c => c.RequestPassword(It.IsAny <PasswordRequestPurpose>(), It.IsAny <Guid>())).Returns(new CommunicationResult(true)).Callback(passwordReceived); sut.TryStart(); sessionSequence.Raise(s => s.ActionRequired += null, args); clientProxy.Verify(c => c.RequestPassword(It.IsAny <PasswordRequestPurpose>(), It.IsAny <Guid>()), Times.Once); uiFactory.Verify(u => u.CreatePasswordDialog(It.IsAny <string>(), It.IsAny <string>()), Times.Never); }
private void OnMessageGetPass() { if (string.IsNullOrEmpty(_settings.Password)) { var ea = new PasswordRequiredEventArgs(); OnPasswordRequired(ea); _settings.Password = ea.Password; } if (!string.IsNullOrEmpty(_settings.Password)) { SendMessage(new MyPassMessage { Password = _settings.Password }.Raw); Logger.Info("Password sent..."); } else { Logger.Error("No password is supplied. Unable to log in."); } }
public void Operations_MustRequestPasswordViaDialogOnDefaultDesktop() { var args = new PasswordRequiredEventArgs(); var passwordDialog = new Mock <IPasswordDialog>(); var result = new PasswordDialogResult { Password = "******", Success = true }; currentSettings.Security.KioskMode = KioskMode.DisableExplorerShell; passwordDialog.Setup(p => p.Show(It.IsAny <IWindow>())).Returns(result); uiFactory.Setup(u => u.CreatePasswordDialog(It.IsAny <string>(), It.IsAny <string>())).Returns(passwordDialog.Object); sut.TryStart(); sessionSequence.Raise(s => s.ActionRequired += null, args); clientProxy.VerifyNoOtherCalls(); passwordDialog.Verify(p => p.Show(It.IsAny <IWindow>()), Times.Once); uiFactory.Verify(u => u.CreatePasswordDialog(It.IsAny <string>(), It.IsAny <string>()), Times.Once); Assert.AreEqual(true, args.Success); Assert.AreEqual(result.Password, args.Password); }
private void unrar_PasswordRequired(object sender, PasswordRequiredEventArgs e) { logger.Info("PasswordRequired - "); }
private void unrar_PasswordRequired(object sender, PasswordRequiredEventArgs e) { WriteLogEntry(LogType.Warning, "Password required to extract file, aborting"); e.ContinueOperation = true; }
private void OnPasswordRequired(PasswordRequiredEventArgs e) { PasswordRequired?.Invoke(this, e); }