home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 May / 05_02.iso / software / nis / files / NIS / NIS.MSI / fwUI.dll / HTML / RULETXT.JS < prev    next >
Encoding:
JavaScript  |  2001-12-01  |  3.0 KB  |  117 lines

  1. ////////////////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // PRODUCT: Norton Internet Security/Symantec Desktop Firewall
  4. //
  5. // NAME:    Ruletxt.js 
  6. //
  7. // Copyright (c) 2001 by Symantec Corporation. All rights reserved.
  8. //
  9. ////////////////////////////////////////////////////////////////////////////////////////////
  10.  
  11. function getComputerListStr(rule)
  12. {
  13.  
  14.     var returnstring = StrID("computer_any");
  15.  
  16.     var remoteaddress = rule.selectSingleNode("RemoteAddresses");
  17.  
  18.     if (remoteaddress)
  19.     {
  20.         var zone = remoteaddress.selectSingleNode("ZoneName");
  21.  
  22.         if (!zone)
  23.             returnstring = StrID("computer_specific");
  24.     }
  25.  
  26.     return returnstring;
  27. }
  28.  
  29. function getLoggingStr(rule)
  30. {
  31.     returnstring = "";
  32.  
  33.     val = getElem(rule, "Logging");
  34.  
  35.     var reDialog = new RegExp("dialog", "i");
  36.     var reLogging = new RegExp("logging", "i");
  37.     var reDashboard = new RegExp("dashboard,dialog", "i");
  38.     var reTracker = new RegExp("alerttracker", "i");
  39.  
  40.     if (-1 != val.search(reTracker))
  41.         returnstring = StrID("logging_atracker");
  42.     if (-1 != val.search(reLogging))
  43.         returnstring = StrID("logging_log");
  44.     if ((-1 != val.search(reDialog)) && (-1 != val.search(reDashboard)))
  45.         returnstring = StrID("logging_alert");
  46.   
  47.     if ("" != returnstring)
  48.         returnstring = StrID("tracking") + returnstring;
  49.     return returnstring;
  50. }
  51.  
  52.  
  53.  
  54.  
  55. function developRuleString(rule)
  56. {
  57.     var sep = StrID("string_separation");
  58.  
  59.     return ruleString(rule, sep);
  60. }
  61.  
  62. function ruleString(rule, sep)
  63. {
  64.  
  65.     var Action = "";
  66.     var Direction = "";
  67.     var Services = "";
  68.     var ComputerType = "";
  69.     var returnstring= "";    
  70.  
  71.  
  72.     switch (getElem(rule,"Action").toUpperCase())
  73.     {
  74.         case "PERMIT":
  75.             Action = "<span class=nisPermitTx>"+StrID("permit")+"</span>";
  76.             break;
  77.         case "BLOCK":
  78.             Action = "<span class=nisBlockTx>"+StrID("block")+"</span>";
  79.             break;
  80.         case "MONITOR":
  81.             Action = "<span class=nisMonitorTx>"+StrID("monitor")+"</span>";
  82.             break;
  83.         default:
  84.             Action = "";
  85.             break;
  86.     }
  87.  
  88.     switch (getElem(rule,"Direction").toUpperCase())
  89.     {
  90.         case "IN":
  91.             Direction = StrID("direction_inbound_localhost_any");
  92.             break;
  93.         case "OUT":
  94.             Direction = StrID("direction_outbound_localhost_any");
  95.             break;
  96.         case "IN-OUT":
  97.             Direction = StrID("direction_either_localhost_any");
  98.             break;
  99.         default:
  100.             Direction = "";
  101.             break;
  102.     }
  103.  
  104.     Services = getGenericServicesStr(rule);
  105.     ComputerType = getComputerListStr(rule);
  106.  
  107.     var Protocol = StrID("protocol") + getElem(rule,"Protocol").toUpperCase();
  108.     var logging = getLoggingStr(rule);
  109.     if (logging != "")
  110.         logging = sep + logging;
  111.  
  112.     returnstring =  Action + sep + Direction + sep + ComputerType + sep + Services + sep + Protocol + logging;
  113.     
  114.     return     returnstring;
  115.  
  116. }
  117.