Move all network rules to new block
This commit is contained in:
@@ -27,25 +27,6 @@ class Acl {
|
||||
var bypass: Boolean = _
|
||||
|
||||
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 = {
|
||||
bypassHostnames.clear()
|
||||
@@ -70,9 +51,8 @@ class Acl {
|
||||
var hostnames: mutable.SortedList[String] = if (defaultBypass) proxyHostnames else bypassHostnames
|
||||
var subnets: mutable.SortedList[Subnet] = if (defaultBypass) proxySubnets else bypassSubnets
|
||||
var in_urls = false
|
||||
for (line <- value.getLines()) (line.indexOf('#') match {
|
||||
case -1 => if (!in_urls) line else ""
|
||||
case index => {
|
||||
for (line <- value.getLines()) (line.trim.indexOf('#') match {
|
||||
case 0 => {
|
||||
line.indexOf("NETWORK_ACL_BEGIN") match {
|
||||
case -1 =>
|
||||
case index => in_urls = true
|
||||
@@ -83,6 +63,7 @@ class Acl {
|
||||
}
|
||||
"" // ignore any comment lines
|
||||
}
|
||||
case index => if (!in_urls) line else ""
|
||||
}).trim match {
|
||||
case "[outbound_block_list]" =>
|
||||
hostnames = null
|
||||
@@ -113,15 +94,16 @@ class Acl {
|
||||
val result = new StringBuilder()
|
||||
if (urls.nonEmpty) {
|
||||
result.append(urls.mkString("\n"))
|
||||
result.append("#NETWORK_ACL_BEGIN\n")
|
||||
result.append("\n")
|
||||
if (network) {
|
||||
result.append("#NETWORK_ACL_BEGIN\n")
|
||||
try {
|
||||
urls.foreach((url: String) => result.append(Source.fromURL(url).mkString))
|
||||
} catch {
|
||||
case e: IOException => // ignore
|
||||
}
|
||||
result.append("#NETWORK_ACL_END\n")
|
||||
}
|
||||
result.append("#NETWORK_ACL_END\n")
|
||||
}
|
||||
if (result.isEmpty) {
|
||||
result.append(if (bypass) "[bypass_all]\n" else "[proxy_all]\n")
|
||||
|
||||
Reference in New Issue
Block a user