Commit a69183cc authored by Max Lv's avatar Max Lv

Move all network rules to new block

parent 62a0bb59
...@@ -27,25 +27,6 @@ class Acl { ...@@ -27,25 +27,6 @@ class Acl {
var bypass: Boolean = _ var bypass: Boolean = _
def isUrl(url: String): Boolean = url.startsWith("http://") || url.startsWith("https://") def isUrl(url: String): Boolean = url.startsWith("http://") || url.startsWith("https://")
def getBypassHostnamesString: String = bypassHostnames.mkString("\n")
def getProxyHostnamesString: String = proxyHostnames.mkString("\n")
def getSubnetsString: String = subnets.mkString("\n")
def setBypassHostnamesString(value: String) {
bypassHostnames.clear()
bypassHostnames ++= value.split("\n")
}
def setProxyHostnamesString(value: String) {
proxyHostnames.clear()
proxyHostnames ++= value.split("\n")
}
def setSubnetsString(value: String) {
subnets.clear()
subnets ++= value.split("\n").map(Subnet.fromString)
}
def setUrlRules(value: String) {
urls.clear()
urls ++= value.split("\n")
}
def fromAcl(other: Acl): Acl = { def fromAcl(other: Acl): Acl = {
bypassHostnames.clear() bypassHostnames.clear()
...@@ -70,9 +51,8 @@ class Acl { ...@@ -70,9 +51,8 @@ class Acl {
var hostnames: mutable.SortedList[String] = if (defaultBypass) proxyHostnames else bypassHostnames var hostnames: mutable.SortedList[String] = if (defaultBypass) proxyHostnames else bypassHostnames
var subnets: mutable.SortedList[Subnet] = if (defaultBypass) proxySubnets else bypassSubnets var subnets: mutable.SortedList[Subnet] = if (defaultBypass) proxySubnets else bypassSubnets
var in_urls = false var in_urls = false
for (line <- value.getLines()) (line.indexOf('#') match { for (line <- value.getLines()) (line.trim.indexOf('#') match {
case -1 => if (!in_urls) line else "" case 0 => {
case index => {
line.indexOf("NETWORK_ACL_BEGIN") match { line.indexOf("NETWORK_ACL_BEGIN") match {
case -1 => case -1 =>
case index => in_urls = true case index => in_urls = true
...@@ -83,6 +63,7 @@ class Acl { ...@@ -83,6 +63,7 @@ class Acl {
} }
"" // ignore any comment lines "" // ignore any comment lines
} }
case index => if (!in_urls) line else ""
}).trim match { }).trim match {
case "[outbound_block_list]" => case "[outbound_block_list]" =>
hostnames = null hostnames = null
...@@ -113,15 +94,16 @@ class Acl { ...@@ -113,15 +94,16 @@ class Acl {
val result = new StringBuilder() val result = new StringBuilder()
if (urls.nonEmpty) { if (urls.nonEmpty) {
result.append(urls.mkString("\n")) result.append(urls.mkString("\n"))
result.append("#NETWORK_ACL_BEGIN\n") result.append("\n")
if (network) { if (network) {
result.append("#NETWORK_ACL_BEGIN\n")
try { try {
urls.foreach((url: String) => result.append(Source.fromURL(url).mkString)) urls.foreach((url: String) => result.append(Source.fromURL(url).mkString))
} catch { } catch {
case e: IOException => // ignore case e: IOException => // ignore
} }
result.append("#NETWORK_ACL_END\n")
} }
result.append("#NETWORK_ACL_END\n")
} }
if (result.isEmpty) { if (result.isEmpty) {
result.append(if (bypass) "[bypass_all]\n" else "[proxy_all]\n") result.append(if (bypass) "[bypass_all]\n" else "[proxy_all]\n")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment