⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 managecontrol.new

📁 sifi-0.1.6.tar.gz 出自http://www.ifi.unizh.ch/ikm/SINUS/firewall/ 一个linux的防火墙工具。
💻 NEW
📖 第 1 页 / 共 3 页
字号:
        if (n.level == 1)          ps.println("<li>Level: "+n.level+" firewall hop to nearest Internet connection");        else if (n.level >= 0)          ps.println("<li>Level: "+n.level+" firewall hops to nearest Internet connection");        else          ps.println("<li>No Internet connection");        ps.println("<li>Addresses:");        writeAddresses(ps, n.NetAddresses);        writeNeighbors(ps, mo);        ps.println("</ul>");      }      else if (mo instanceof Internet) {        in = (Internet)mo;      }      else {        ps.println("<h3><a name="+mo.identString()+">Unknown object: <i>"+mo+"</i></a></h3>");      }    }    ps.println("</body></html>");  }  private void writeAddresses(PrintStream ps, AddrList al) {    if (al==null)      return;    Enumeration en = al.getAddresses().elements();    AddrObj ao;    ps.println("<ul>");    while (en.hasMoreElements()) {      ao = (AddrObj)en.nextElement();      ps.println("<li><tt>"+ao.toString()+"</tt>");    }    ps.println("</ul>");  }  private void writeNeighbors(PrintStream ps, ManageObject mo) {    Enumeration en = mgDomain.getTopology().findNeighbors(mo);    ManageObject n;    ps.println("<li>Connected to:<ul>");    while (en.hasMoreElements()) {      n = (ManageObject)en.nextElement();      if (n.objectID.length() > 0)        if (n instanceof Internet)          ps.println("<li>"+n.objectID);        else          ps.println("<li><a href=\"#"+n.identString()+"\">"+n.objectID+"</a>");      else if (n instanceof Host)        ps.println("<li><a href=\"#"+n.identString()+"\">Unnamed host"+"</a>");      else if (n instanceof Net)        ps.println("<li><a href=\"#"+n.identString()+"\">Unnamed network"+"</a>");      else        ps.println("<li><a href=\"#"+n.identString()+"\">Unnamed object"+"</a>");    }    ps.println("</ul>");  }  public static final int REPORT_CONFIG = 1; // configuration report  private ManageDomain mgDomain;  private Frame parent;  private BusyBox busybox;  private int reportType;} // ReportThread// This dialog box is used to enter the general access profile// and the configuration client addressesclass GeneralSettings extends Dialog {  public GeneralSettings(Frame p, String title, ManageDomain md) {    super(p, title, true);    parent = p;    mgDomain = md;    GridBagLayout gbl = new GridBagLayout();    GridBagConstraints gbc = new GridBagConstraints();    gbc.fill = GridBagConstraints.BOTH;    gbc.insets = new Insets(5,5,5,5);    setLayout(gbl);    // Name panel    Utils.add_component(this, new Label("Name: "), gbl, gbc, 0, 0, 1, 1, 0, 0);    DNameText = new TextField(mgDomain.DomainName);    Utils.add_component(this, DNameText, gbl, gbc, 1, 0, 3, 1, 100, 0);    // Default mail addresses    Utils.add_component(this, new Label("Default mail:"), gbl, gbc, 0, 1, 1, 1, 0, 0);    mailText = new TextField(mgDomain.defaultMail);    Utils.add_component(this, mailText, gbl, gbc, 1, 1, 3, 1, 100, 0);    int half = (int)Math.floor(((double)Templates.numberGeneral / 2.0) + 0.5);    // Address Panel (configuration clients)    addrPanel = mgDomain.configClients.editPanel();    Utils.add_component(this, new Label("Configuration clients:"), gbl, gbc, 0, 2, 2, 1, 0, 0);    Utils.add_component(this, addrPanel, gbl, gbc, 0, 3, 2, half-1, 100, 100);    // Checkboxes    gbc.fill = GridBagConstraints.NONE;    gbc.anchor = GridBagConstraints.NORTHWEST;    CheckboxArray = new Checkbox[Templates.numberGeneral];    for (int i=0; i < Templates.numberGeneral; i++) {      CheckboxArray[i] = new Checkbox(Templates.prompt[i]);      CheckboxArray[i].setState(mgDomain.generalTemplates[i]);      if (i < half)        Utils.add_component(this, CheckboxArray[i], gbl, gbc,                             2, i+2, 1, 1, 0, 0);      else        Utils.add_component(this, CheckboxArray[i], gbl, gbc,                             3, i+2-half, 1, 1, 0, 0);    }    // Buttons    OKbutton = new Button("OK");    Utils.add_component(this, OKbutton, gbl, gbc, 0, 2+half, 4, 1, 0, 0);    // Window size    pack();  }  public boolean action(Event evt, Object arg) {    if (evt.target==DNameText) {      mgDomain.DomainName = ((String)arg).trim();      setTitle(mgDomain.DomainName);      parent.setTitle(mgDomain.DomainName);      return true;    }    else if (evt.target==OKbutton) {      mgDomain.DomainName = DNameText.getText().trim();      if (mgDomain.DomainName.length() > 0)        parent.setTitle(mgDomain.DomainName);      dispose();      return true;    }    else if (evt.target instanceof Checkbox) {      for (int i=0; i < Templates.numberGeneral; i++)         if (evt.target==CheckboxArray[i])          mgDomain.generalTemplates[i] = CheckboxArray[i].getState();      return true;    }    else      return super.action(evt, arg);  }  public boolean handleEvent(Event evt) {    if (evt.id == Event.WINDOW_DESTROY && evt.target == this) {      if (isEnabled())        dispose();      return true;    }    else      return super.handleEvent(evt);  }  private ManageDomain mgDomain;  private Frame parent;  private TextField DNameText;  private TextField mailText;  private Panel addrPanel;  private Checkbox CheckboxArray[];   private Button OKbutton;} // GeneralSettings// This dialog box provides a selection list for editing notification levelsclass NotificationSelect extends Dialog implements Refreshable {  public NotificationSelect(ManageDomain md, ManageControl p) {    super(p, "Notification Levels", true);    p.setCursor(Frame.WAIT_CURSOR);    mgDomain = md;    parent = p;    gbl = new GridBagLayout();    gbc = new GridBagConstraints();    gbc.fill = GridBagConstraints.BOTH;    gbc.insets = new Insets(3,3,3,3);    setLayout(gbl);    nList = new List(15, false);    Notification.constructList(nList, mgDomain.NLevels);    OKbutton = new Button("OK");    AddButton = new Button("Add new level");    DeleteButton = new Button("Delete");    ChangeButton = new Button("Change");    Utils.add_component(this, nList, gbl, gbc, 0, 0, 3, 15, 100, 100);    Utils.add_component(this, OKbutton, gbl, gbc, 3, 0, 1, 1, 0, 0);    Utils.add_component(this, AddButton, gbl, gbc, 3, 1, 1, 1, 0, 0);    Utils.add_component(this, DeleteButton, gbl, gbc, 3, 2, 1, 1, 0, 0);    Utils.add_component(this, ChangeButton, gbl, gbc, 3, 3, 1, 1, 0, 0);    Utils.add_component(this, new Spacer(1,1), gbl, gbc, 3, 4, 1, 1, 100, 100);    pack();    p.setCursor(Frame.DEFAULT_CURSOR);  }  public boolean action(Event evt, Object arg) {    if (evt.target == OKbutton) {      dispose();      return true;    }    else if (evt.target == AddButton) {      Notification ln;      try {        ln = (Notification)mgDomain.NLevels.lastElement();      }      catch (NoSuchElementException e) {        ln = null;      }      Notification not = new Notification        (ln == null ? Notification.firstDynamic : ln.levelNumber + 1);      mgDomain.NLevels.addElement(not);      not.edit(this, parent, mgDomain, true);      return true;    }    else if (evt.target == DeleteButton) {      String str = nList.getSelectedItem();      if (str == null)        return true;      Notification not = Notification.getLevel(str, mgDomain.NLevels);      if (not == null)        return true;      if (not.levelNumber < Notification.firstDynamic) {        ErrorBox eb = new ErrorBox(parent, "Cannot delete static notification level!");        eb.show();        return true;      }// !!! this doesn't work, cause we are in the event loop//      OkCancelBox oc = new OkCancelBox(parent, "Deleting notification level "+str+".");//      oc.setVisible(true);//      if (oc.getAnswer() != OkCancelBox.OK)//        return true;      mgDomain.NLevels.removeElement(not);      refresh();      return true;    }    else if (evt.target == ChangeButton) {      String str = nList.getSelectedItem();      if (str == null)        return true;      Notification not = Notification.getLevel(str, mgDomain.NLevels);      if (not == null)        return true;      not.edit(this, parent, mgDomain, false);      return true;    }    else      return super.action(evt, arg);  }  public void refresh() {    parent.setCursor(Frame.WAIT_CURSOR);    remove(nList);    nList = new List(15, false);    Notification.constructList(nList, mgDomain.NLevels);    Utils.add_component(this, nList, gbl, gbc, 0, 0, 3, 15, 100, 100);    validate();    parent.setCursor(Frame.DEFAULT_CURSOR);  }  private ManageDomain mgDomain;  private ManageControl parent;   private GridBagLayout gbl;  private GridBagConstraints gbc;  private List nList;  private Button OKbutton;  private Button AddButton;  private Button DeleteButton;  private Button ChangeButton;} // NotificationSelect// This dialog box implements a selection list for editing macrosclass MacroSelect extends Dialog implements Refreshable {  public MacroSelect(ManageDomain md, ManageControl p) {    super(p, "Address and Service Macros", true);    p.setCursor(Frame.WAIT_CURSOR);    mgDomain = md;    parent = p;    gbl = new GridBagLayout();    gbc = new GridBagConstraints();    gbc.fill = GridBagConstraints.BOTH;    gbc.insets = new Insets(3,3,3,3);    setLayout(gbl);    nList = new List(15, false);    Macro.constructList(nList, mgDomain.Macros);    OKbutton = new Button("OK");    AddButton = new Button("Add new macro");    DeleteButton = new Button("Delete");    ChangeButton = new Button("Change");    Utils.add_component(this, nList, gbl, gbc, 0, 0, 3, 15, 100, 100);    Utils.add_component(this, OKbutton, gbl, gbc, 3, 0, 1, 1, 0, 0);    Utils.add_component(this, AddButton, gbl, gbc, 3, 1, 1, 1, 0, 0);    Utils.add_component(this, DeleteButton, gbl, gbc, 3, 2, 1, 1, 0, 0);    Utils.add_component(this, ChangeButton, gbl, gbc, 3, 3, 1, 1, 0, 0);    Utils.add_component(this, new Spacer(1,1), gbl, gbc, 3, 4, 1, 1, 100, 100);    pack();    p.setCursor(Frame.DEFAULT_CURSOR);  }  public boolean action(Event evt, Object arg) {    if (evt.target == OKbutton) {      dispose();      return true;    }    else if (evt.target == AddButton) {      Macro ln;      try {        ln = (Macro)mgDomain.Macros.lastElement();      }      catch (NoSuchElementException e) {        ln = null;      }      Macro m = new Macro        (ln == null ? Macro.firstDynamic : ln.macroNumber - 1);      mgDomain.Macros.addElement(m);      m.edit(this, parent, mgDomain, true);      return true;    }    else if (evt.target == DeleteButton) {      String str = nList.getSelectedItem();      if (str == null)        return true;      Macro m = Macro.getMacro(str, mgDomain.Macros);      if (m == null)        return true;      if (m.macroNumber > Macro.firstDynamic) {        ErrorBox eb = new ErrorBox(parent, "Cannot delete static macro!");        eb.show();        return true;      }// !!! this doesn't work, cause we are in the event loop//      OkCancelBox oc = new OkCancelBox(parent, "Deleting macro "+str+".");//      oc.setVisible(true);//      if (oc.getAnswer() != OkCancelBox.OK)//        return true;      mgDomain.Macros.removeElement(m);      refresh();      return true;    }    else if (evt.target == ChangeButton) {      String str = nList.getSelectedItem();      if (str == null)        return true;      Macro m = Macro.getMacro(str, mgDomain.Macros);      if (m == null)        return true;      m.edit(this, parent, mgDomain, false);      return true;    }    else      return super.action(evt, arg);  }  public void refresh() {    parent.setCursor(Frame.WAIT_CURSOR);    remove(nList);    nList = new List(15, false);    Macro.constructList(nList, mgDomain.Macros);    Utils.add_component(this, nList, gbl, gbc, 0, 0, 3, 15, 100, 100);    validate();    parent.setCursor(Frame.DEFAULT_CURSOR);  }  private ManageDomain mgDomain;  private ManageControl parent;   private GridBagLayout gbl;  private GridBagConstraints gbc;  private List nList;  private Button OKbutton;  private Button AddButton;  private Button DeleteButton;  private Button ChangeButton;} // MacroSelect

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -