Commit 28193596 authored by Mygod's avatar Mygod Committed by Max Lv

Fix local_dns_path blocking

parent 347d00fb
......@@ -94,13 +94,7 @@ class VpnService : BaseVpnService(), LocalDnsService.Interface {
launch {
socket.use {
val input = DataInputStream(socket.inputStream)
while (true) {
val length = try {
input.readUnsignedShort()
} catch (_: EOFException) {
break
}
val query = ByteArray(length)
val query = ByteArray(input.readUnsignedShort())
input.read(query)
try {
DnsResolverCompat.resolveRaw(underlyingNetwork ?: throw IOException("no network"), query)
......@@ -119,7 +113,10 @@ class VpnService : BaseVpnService(), LocalDnsService.Interface {
printLog(e)
null
}
}?.let { response -> socket.outputStream.write(response) }
}?.let { response ->
val output = DataOutputStream(socket.outputStream)
output.writeShort(response.size)
output.write(response)
}
}
}
......
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