Allow records not found in TrafficRecorder
This commit is contained in:
@@ -61,7 +61,8 @@ object TrafficRecorder {
|
|||||||
|
|
||||||
private fun doUpdate(timestamp: Long) {
|
private fun doUpdate(timestamp: Long) {
|
||||||
val oldRecords = LongSparseArray<TrafficRecord>()
|
val oldRecords = LongSparseArray<TrafficRecord>()
|
||||||
for (line in RootSession.use { it.execOutUnjoined("$IPTABLES -nvx -L vpnhotspot_fwd") }.asSequence().drop(2)) {
|
loop@ for (line in RootSession.use { it.execOutUnjoined("$IPTABLES -nvx -L vpnhotspot_fwd") }
|
||||||
|
.asSequence().drop(2)) {
|
||||||
val columns = line.split("\\s+".toRegex()).filter { it.isNotEmpty() }
|
val columns = line.split("\\s+".toRegex()).filter { it.isNotEmpty() }
|
||||||
try {
|
try {
|
||||||
check(columns.size >= 9)
|
check(columns.size >= 9)
|
||||||
@@ -76,7 +77,7 @@ object TrafficRecorder {
|
|||||||
var upstream: String? = columns[if (isReceive) 5 else 6]
|
var upstream: String? = columns[if (isReceive) 5 else 6]
|
||||||
if (upstream == "*") upstream = null
|
if (upstream == "*") upstream = null
|
||||||
val key = Triple(ip, upstream, downstream)
|
val key = Triple(ip, upstream, downstream)
|
||||||
val oldRecord = records[key]!!
|
val oldRecord = records[key] ?: continue@loop // assuming they're legacy old rules
|
||||||
val record = if (oldRecord.id == null) oldRecord else TrafficRecord(
|
val record = if (oldRecord.id == null) oldRecord else TrafficRecord(
|
||||||
timestamp = timestamp,
|
timestamp = timestamp,
|
||||||
mac = oldRecord.mac,
|
mac = oldRecord.mac,
|
||||||
|
|||||||
Reference in New Issue
Block a user