home *** CD-ROM | disk | FTP | other *** search
- package netscape.security;
-
- import java.awt.Component;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.Frame;
- import java.awt.Rectangle;
- import sun.awt.ObjectPeer;
-
- class UserAwtDialog implements DialogInterface {
- UserTarget itsTarget;
- Target itsCurrentTarget;
- Principal itsPrin;
- Principal itsCurrentPrin;
- Privilege itsPrivilege;
- Object itsData;
- static Privilege theBlankPrivilege;
- static FrmSec theFrmSecDialog = null;
- static FrmCert theFrmCertDialog = null;
- static FrmDetail theFrmDetailDialog = null;
- static Rectangle theFrmSecRect = UserDialogHelper.MainSecurityDialogSize();
- static Rectangle theFrmCertRect = UserDialogHelper.CertificateDialogSize();
- static Rectangle theFrmDetailRect = UserDialogHelper.DetailsDialogSize();
- static Rectangle theFrmHelpRect = UserDialogHelper.HelpDialogSize();
- static Object lock = new Object();
- static Object theCurrentDialog = null;
-
- UserAwtDialog() {
- UserDialogHelper.userDialogOkay();
- String var1 = UserDialogHelper.userDialogGrant();
- String var2 = UserDialogHelper.userDialogDeny();
- String var3 = UserDialogHelper.userDialogHelp();
- String var4 = UserDialogHelper.userDialogClose();
- String var5 = "<img> " + UserDialogHelper.dangerImage();
- String var6 = UserDialogHelper.accessDetailsLabel();
- String var7 = UserDialogHelper.viewCertificateLabel();
- String var8 = UserDialogHelper.certHead1();
- String var9 = UserDialogHelper.certCompanyNameCaption();
- String var10 = UserDialogHelper.certIssuedByCaption();
- String var11 = "<img> <trows=1> " + UserDialogHelper.topImage();
- String var12 = "<img> <trows=1> " + UserDialogHelper.bottomImage();
- String var13 = "<img> <tcols=1> " + UserDialogHelper.leftImage();
- String var14 = "<img> <tcols=1> " + UserDialogHelper.rightImage();
- String var15 = "<img> " + UserDialogHelper.topleftImage();
- String var16 = "<img> " + UserDialogHelper.toprightImage();
- String var17 = "<img> " + UserDialogHelper.bottomleftImage();
- String var18 = "<img> " + UserDialogHelper.bottomrightImage();
- String var19 = UserDialogHelper.targetDetailDialogTitle();
- String var20 = UserDialogHelper.targetDialogCaption1();
- String var21 = UserDialogHelper.targetDetailDialogDescription();
- SecurityManager.enablePrivilege("UniversalFileAccess");
- SecurityManager.enablePrivilege("UniversalTopLevelWindow");
- GlobalCtxt.applet_g = new AwtPseudoApplet();
- GlobalCtxt.minFnSz_g = UserDialogHelper.userDialogMinFontSize();
- GlobalCtxt.maxFnSz_g = UserDialogHelper.userDialogMaxFontSize();
- GlobalCtxt.initFnNm_g = UserDialogHelper.userDialogInitialFontName();
- GlobalCtxt.initFn_g = new Font(GlobalCtxt.initFnNm_g, 0, UserDialogHelper.userDialogInitialFontSize());
- if (theFrmSecDialog == null) {
- theFrmSecDialog = new FrmSec(this);
- ObjectPeer.setAppletToNull(theFrmSecDialog);
- theFrmSecDialog.setTitle(UserDialogHelper.userDialogTitle());
- theFrmSecDialog.lbSecWarn.setText(var5);
- theFrmSecDialog.btnSecDetail.setLabel(var6);
- theFrmSecDialog.btnSecGrant.setLabel(var1);
- theFrmSecDialog.btnSecDeny.setLabel(var2);
- theFrmSecDialog.btnSecHelp.setLabel(var3);
- theFrmSecDialog.btnSecView.setLabel(var7);
- theFrmSecDialog.reshape(theFrmSecRect.x, theFrmSecRect.y, theFrmSecRect.width, theFrmSecRect.height);
- }
-
- if (theFrmCertDialog == null) {
- theFrmCertDialog = new FrmCert(this);
- ObjectPeer.setAppletToNull(theFrmCertDialog);
- theFrmCertDialog.lbCertHead.setText(var8);
- theFrmCertDialog.lbCertImgBottom.setText(var12);
- theFrmCertDialog.lbCertImgTop.setText(var11);
- theFrmCertDialog.lbCertImgLeft.setText(var13);
- theFrmCertDialog.lbCertImgRight.setText(var14);
- theFrmCertDialog.lbCertImgBotLeft.setText(var17);
- theFrmCertDialog.lbCertImgTopLeft.setText(var15);
- theFrmCertDialog.lbCertImgBotRight.setText(var18);
- theFrmCertDialog.lbCertImgTopRight.setText(var16);
- theFrmCertDialog.lbCertNATitle.setText(var9);
- theFrmCertDialog.lbCertIBTitle.setText(var10);
- theFrmCertDialog.btnCertClose.setLabel(var4);
- theFrmCertDialog.btnCertHelp.setLabel(var3);
- theFrmCertDialog.reshape(theFrmCertRect.x, theFrmCertRect.y, theFrmCertRect.width, theFrmCertRect.height);
- }
-
- if (theFrmDetailDialog == null) {
- theFrmDetailDialog = new FrmDetail(this);
- ObjectPeer.setAppletToNull(theFrmDetailDialog);
- theFrmDetailDialog.setTitle(var19);
- theFrmDetailDialog.lbDetDesc.setText(var21);
- theFrmDetailDialog.lbDetConsist.setText(var20);
- theFrmDetailDialog.btnDetClose.setLabel(var4);
- theFrmDetailDialog.btnDetHelp.setLabel(var3);
- theFrmDetailDialog.reshape(theFrmDetailRect.x, theFrmDetailRect.y, theFrmDetailRect.width, theFrmDetailRect.height);
- }
-
- theBlankPrivilege = Privilege.findPrivilege(2, 1);
- }
-
- Privilege show(UserTarget var1, Principal var2, Object var3) {
- if (var1 == null) {
- throw new ForbiddenTargetException("no target");
- } else {
- Object var5 = lock;
- synchronized(var5) {
- try {
- while(theCurrentDialog != null) {
- try {
- lock.wait();
- } catch (InterruptedException var26) {
- System.out.println("interrupted before dialog!");
- ((Throwable)var26).printStackTrace(System.out);
- Privilege var4 = theBlankPrivilege;
- return var4;
- }
- }
-
- theCurrentDialog = theFrmSecDialog;
- this.itsTarget = var1;
- this.itsPrin = var2;
- this.itsData = var3;
- this.setFrmSecDialogStrings();
- this.itsPrivilege = theBlankPrivilege;
- FrmSec var9 = theFrmSecDialog;
- synchronized(var9){}
-
- try {
- theFrmSecDialog.show();
- theFrmSecDialog.toFront();
-
- try {
- theFrmSecDialog.wait();
- } catch (Throwable var24) {
- System.out.println("interrupted during dialog!");
- var24.printStackTrace(System.out);
- }
-
- return this.itsPrivilege;
- } catch (Throwable var25) {
- throw var25;
- }
- } catch (Throwable var27) {
- System.out.println("interrupted during dialog!");
- var27.printStackTrace(System.out);
- return this.itsPrivilege;
- } finally {
- theFrmSecDialog.hide();
- theFrmCertDialog.hide();
- theFrmDetailDialog.hide();
- theCurrentDialog = null;
- lock.notifyAll();
- }
- }
- }
- }
-
- private void setFrmSecDialogStrings() {
- String var1 = this.itsTarget.getRisk();
- String var2 = this.itsTarget.getDetailedInfo(this.itsData);
- String var3 = this.itsTarget.getDescription() + (var2.equals("") ? "" : " (" + var2 + ")");
- String var4 = this.itsPrin.getVendor();
- String var5 = UserDialogHelper.riskLabel(var1);
- String var6 = UserDialogHelper.rememberPrivilege();
- String var7;
- if (this.itsPrin.isCodebase()) {
- var7 = UserDialogHelper.dialogHeadingCodebase(var4);
- theFrmSecDialog.lbIdentity.setText(" ");
- theFrmSecDialog.lbIdentity.disable();
- theFrmSecDialog.btnSecView.hide();
- } else {
- String var8 = this.itsPrin.getSecAuth();
- var7 = UserDialogHelper.dialogHeadingCert(var4);
- theFrmSecDialog.lbIdentity.setText(UserDialogHelper.certIdentity(var8));
- theFrmSecDialog.lbIdentity.enable();
- theFrmSecDialog.btnSecView.show();
- }
-
- theFrmSecDialog.lbSecDesc.setText(var3 + " <BW>");
- theFrmSecDialog.lbSecHeading.setText(var7);
- theFrmSecDialog.lbSecRiskLabel.setText(var5);
- theFrmSecDialog.lbSecRem.setText(var6);
- theFrmSecDialog.cbSecRem.setState(false);
- GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbSecDesc);
- GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbIdentity);
- GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbSecHeading);
- GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbSecRiskLabel);
- GlobalCtxt.setTxtDirty(theFrmSecDialog, theFrmSecDialog.lbSecRem);
- }
-
- private void setFrmCertDialogStrings() {
- if (!this.itsPrin.equals(this.itsCurrentPrin)) {
- String var1 = this.itsPrin.getVendor();
- String var2 = UserDialogHelper.certSerialNo(this.itsPrin.getSerialNo());
- String var3 = UserDialogHelper.certExpiresCaption(this.itsPrin.getExpDate());
- String var4 = UserDialogHelper.certFingerprint(this.itsPrin.getFingerPrint());
- theFrmCertDialog.setTitle(UserDialogHelper.principalDetailTitle(var1));
- theFrmCertDialog.lbCertNAddr.setText(this.itsPrin.getCompanyName() + " <BW>");
- theFrmCertDialog.lbCertSerNum.setText(var2);
- theFrmCertDialog.lbCertFPrint.setText(var4);
- theFrmCertDialog.lbCertExpire.setText(var3);
- theFrmCertDialog.lbCertIssuer.setText(this.itsPrin.getSecAuth() + " <BW>");
- GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertNAddr);
- GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertSerNum);
- GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertFPrint);
- GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertExpire);
- GlobalCtxt.setTxtDirty(theFrmCertDialog, theFrmCertDialog.lbCertIssuer);
- this.itsCurrentPrin = this.itsPrin;
- }
- }
-
- private void setFrmDetailDialogStrings(Target var1) {
- if (!var1.equals(this.itsCurrentTarget)) {
- String var2 = var1.getRisk();
- String var3 = var1.getDescription().replace('\n', ' ');
- String var4 = UserDialogHelper.targetDialogHeading(var3, var2);
- String var5 = var1.getDetailDescription().replace('\n', ' ');
- Target[] var6 = var1.getFlattenedTargetAry();
- theFrmDetailDialog.lbDetDescCon.setText(var5 + " <BW>");
- theFrmDetailDialog.lbDetHead.setText(var4);
- theFrmDetailDialog.lstDetTarg.clear();
- int var7 = var6.length;
-
- while(var7-- > 0) {
- theFrmDetailDialog.lstDetTarg.addItem(var6[var7].getDescription().replace('\n', ' ') + " (" + var6[var7].getRisk() + ")");
- }
-
- GlobalCtxt.setTxtDirty(theFrmDetailDialog, theFrmDetailDialog.lbDetHead);
- GlobalCtxt.setTxtDirty(theFrmDetailDialog, theFrmDetailDialog.lbDetDescCon);
- this.itsCurrentTarget = var1;
- }
- }
-
- public boolean handleEvent(Frame var1, Event var2) {
- if (var2.id != 201 && var2.id != 1001) {
- return false;
- } else {
- if (var1 == theFrmSecDialog) {
- FrmSec var3 = (FrmSec)var1;
- if (var2.id != 201 && var2.target != var3.btnSecGrant && var2.target != var3.btnSecDeny) {
- if (var2.target == var3.btnSecView) {
- this.setFrmCertDialogStrings();
- theFrmCertDialog.show();
- } else {
- if (var2.target != var3.btnSecDetail) {
- if (var2.target == var3.btnSecHelp) {
- return this.displayHelpDialogs();
- }
-
- return false;
- }
-
- this.setFrmDetailDialogStrings(this.itsTarget);
- theFrmDetailDialog.show();
- }
- } else {
- if (var2.target == var3.btnSecGrant || var2.target == var3.btnSecDeny) {
- boolean var4 = var2.target == var3.btnSecGrant;
- boolean var5 = var3.cbSecRem.getState();
- this.itsPrivilege = this.getPrivilege(var4, var5);
- ((Component)var3).hide();
- }
-
- FrmSec var10 = theFrmSecDialog;
- synchronized(var10){}
-
- try {
- theFrmSecDialog.notify();
- } catch (Throwable var7) {
- throw var7;
- }
- }
- } else if (var1 == theFrmCertDialog) {
- FrmCert var8 = (FrmCert)var1;
- if (var2.target == var8.btnCertHelp) {
- return this.displayHelpDialogs();
- }
-
- if (var2.target != var8.btnCertClose) {
- return false;
- }
-
- theFrmCertDialog.hide();
- } else {
- if (var1 != theFrmDetailDialog) {
- return false;
- }
-
- FrmDetail var9 = (FrmDetail)var1;
- if (var2.target == var9.btnDetHelp) {
- return this.displayHelpDialogs();
- }
-
- if (var2.target != var9.btnDetClose) {
- return false;
- }
-
- theFrmDetailDialog.hide();
- }
-
- return true;
- }
- }
-
- private boolean displayHelpDialogs() {
- return this.showHelp(UserDialogHelper.userDialogHelpUrl()) ? true : true;
- }
-
- private Privilege getPrivilege(boolean var1, boolean var2) {
- byte var4;
- byte var5;
- if (var1) {
- var4 = 1;
- if (var2) {
- var5 = 2;
- } else {
- var5 = 1;
- }
- } else if (var2) {
- var4 = 0;
- var5 = 2;
- } else {
- var4 = 2;
- var5 = 1;
- }
-
- Privilege var3 = Privilege.findPrivilege(var4, var5);
- return var3;
- }
-
- boolean showHelp(String var1) {
- PrivilegeManager var2 = PrivilegeManager.getPrivilegeManager();
- return var2 == null ? false : var2.showDocument(var1, "_self");
- }
- }
-