Check networkPrefixLength on stupid devices

This commit is contained in:
Mygod
2020-11-04 08:47:21 +08:00
parent 0aac5ddfdf
commit 8c221d48e9

View File

@@ -135,7 +135,7 @@ class Routing(private val caller: Any, private val downstream: String) : IpNeigh
private val hostAddress = try { private val hostAddress = try {
val iface = NetworkInterface.getByName(downstream) ?: error("iface not found") val iface = NetworkInterface.getByName(downstream) ?: error("iface not found")
val addresses = iface.interfaceAddresses!!.filter { it.address is Inet4Address } val addresses = iface.interfaceAddresses!!.filter { it.address is Inet4Address && it.networkPrefixLength <= 32 }
if (addresses.size > 1) error("More than one addresses was found: $addresses") if (addresses.size > 1) error("More than one addresses was found: $addresses")
addresses.first() addresses.first()
} catch (e: Exception) { } catch (e: Exception) {