コード例 #1
0
 private void OnDomainLoginCompleted(object o, DomainLoginCompletedArgs args)
 {
     if (WaitDialog != null)
        {
     WaitDialog.Hide();
     WaitDialog.Destroy();
     WaitDialog = null;
        }
        Status authStatus = args.AuthenticationStatus;
        if (authStatus != null)
        {
     switch (authStatus.statusCode)
     {
      case StatusCodes.Success:
      case StatusCodes.SuccessInGrace:
       if (LoginDialog != null)
       {
        LoginDialog.Hide();
        LoginDialog.Destroy();
        LoginDialog = null;
       }
       int result;
       iFolderWebService ifws = DomainController.GetiFolderService();
       int policy = ifws.GetSecurityPolicy(args.DomainID);
       if( policy % 2 == 0)
        break;
       bool passphraseStatus = simws.IsPassPhraseSet(args.DomainID);
       if(passphraseStatus == true)
       {
        bool rememberOption = simws.GetRememberOption(args.DomainID);
        if( rememberOption == false)
        {
     ShowVerifyDialog( args.DomainID, simws);
        }
        else
        {
     Debug.PrintLine(" remember Option true. Checking for passphrase existence");
     string passphrasecheck = simws.GetPassPhrase(args.DomainID);
     if(passphrasecheck == null || passphrasecheck == "")
     {
      Debug.PrintLine("BugBug: Passphrase doesn't exist");
      ShowVerifyDialog( args.DomainID, simws);
     }
        }
       }
       else
       {
        iFolderWindow.ShowEnterPassPhraseDialog(args.DomainID, simws);
       }
       iFolderData ifdata = iFolderData.GetData();
                 ifdata.Refresh();
       UpdateWidgetSensitivity();
       break;
      case StatusCodes.InvalidCertificate:
       DomainInformation dom = domainController.GetDomain(args.DomainID);
       if( authStatus.UserName != null)
       {
        dom.Host = authStatus.UserName;
       }
       byte[] byteArray = simws.GetCertificate(dom.Host);
       System.Security.Cryptography.X509Certificates.X509Certificate cert = new System.Security.Cryptography.X509Certificates.X509Certificate(byteArray);
       iFolderMsgDialog dialog = new iFolderMsgDialog(
        null,
        iFolderMsgDialog.DialogType.Question,
        iFolderMsgDialog.ButtonSet.YesNo,
        "",
        Util.GS("Accept the certificate of this server?"),
        string.Format(Util.GS("iFolder is unable to verify \"{0}\" as a trusted server.  You should examine this server's identity certificate carefully."), dom.Host),
        cert.ToString(true));
       Gdk.Pixbuf certPixbuf = Util.LoadIcon("gnome-mime-application-x-x509-ca-cert", 48);
       if (certPixbuf != null && dialog.Image != null)
        dialog.Image.Pixbuf = certPixbuf;
       int rc = dialog.Run();
       dialog.Hide();
       dialog.Destroy();
       if(rc == -8)
       {
        simws.StoreCertificate(byteArray, dom.Host);
        LoginDialog.Respond(Gtk.ResponseType.Ok);
       }
       else
       {
        LoginDialog.Respond(Gtk.ResponseType.Cancel);
       }
       break;
       case StatusCodes.UserAlreadyMoved:
        LoginDialog.Respond(Gtk.ResponseType.Ok);
        break;
      default:
       Util.ShowLoginError(topLevelWindow, authStatus.statusCode);
       if (LoginDialog != null)
        LoginDialog.Present();
       UpdateDomainStatus(args.DomainID);
       break;
     }
        }
        else
        {
     Util.ShowLoginError(topLevelWindow, StatusCodes.Unknown);
     if (LoginDialog != null)
      LoginDialog.Present();
     UpdateDomainStatus(args.DomainID);
        }
        iFolderWindow ifwin = Util.GetiFolderWindow();
        ifwin.UpdateServerInfoForSelectedDomain();
        ifwin.UpdateListViewItems();
 }
コード例 #2
0
 private void OnDomainLoginCompleted(object o, DomainLoginCompletedArgs args)
 {
     Console.WriteLine("PrefsAccountPage.OnDomainLoginCompleted");
        if (WaitDialog != null)
        {
     WaitDialog.Hide();
     WaitDialog.Destroy();
     WaitDialog = null;
        }
        Status authStatus = args.AuthenticationStatus;
        if (authStatus != null)
        {
     if (authStatus.statusCode == StatusCodes.Success ||
      authStatus.statusCode == StatusCodes.SuccessInGrace)
     {
      UpdateWidgetSensitivity();
     }
     else
     {
      Util.ShowLoginError(topLevelWindow, authStatus.statusCode);
      UpdateDomainStatus(args.DomainID);
     }
        }
        else
        {
     Util.ShowLoginError(topLevelWindow, StatusCodes.Unknown);
     UpdateDomainStatus(args.DomainID);
        }
 }
コード例 #3
0
 private void OnDomainLoginCompleted(object o, DomainLoginCompletedArgs args)
 {
     string domainID = args.DomainID;
        Status authStatus = args.AuthenticationStatus;
        if (authStatus != null &&
     ((authStatus.statusCode == StatusCodes.Success) ||
      (authStatus.statusCode == StatusCodes.SuccessInGrace)))
        {
     authStatus = HandleDomainLoggedIn(domainID, authStatus);
        }
        else
        {
     if (DomainNeedsCredentials != null)
      DomainNeedsCredentials(this, new DomainEventArgs(domainID));
        }
 }
コード例 #4
0
 private void OnDomainLoginCompleted(object o, DomainLoginCompletedArgs args)
 {
     Console.WriteLine("DomainController.OnDomainLoginCompleted()");
        string domainID = args.DomainID;
        Status authStatus = args.AuthenticationStatus;
     if (authStatus == null)
     {
      Console.WriteLine("DomainController.OnDomainLoginCompleted: authStatus is null!");
     }
     else
     {
      Console.WriteLine("DomainController.OnDomainLoginCompleted: authStatus: {0}", authStatus.statusCode);
     }
        if (authStatus != null &&
     ((authStatus.statusCode == StatusCodes.Success) ||
      (authStatus.statusCode == StatusCodes.SuccessInGrace)))
        {
     HandleDomainLoggedIn(domainID, authStatus);
        }
        else
        {
     if (DomainNeedsCredentials != null)
      DomainNeedsCredentials(this, new DomainEventArgs(domainID));
        }
 }