diff options
author | Trumeet <yuuta@yuuta.moe> | 2021-03-27 16:34:58 -0700 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2021-03-27 16:34:58 -0700 |
commit | 9a32f7f1973e1c8159e42747f2e87ba65da42a77 (patch) | |
tree | c66a63bdd71e9082b8648be69ce6df233d98be81 | |
parent | 6166ddaf522f01ccc2e7c65ec98f7e48fa061c9b (diff) | |
download | dn42peering-9a32f7f1973e1c8159e42747f2e87ba65da42a77.tar dn42peering-9a32f7f1973e1c8159e42747f2e87ba65da42a77.tar.gz dn42peering-9a32f7f1973e1c8159e42747f2e87ba65da42a77.tar.bz2 dn42peering-9a32f7f1973e1c8159e42747f2e87ba65da42a77.zip |
fix(central): compress income IPv6 addresses to prevent identical addresses with different forms from being processed
Existing peers are not checked
-rw-r--r-- | .idea/compiler.xml | 8 | ||||
-rw-r--r-- | central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java | 1 |
2 files changed, 1 insertions, 8 deletions
diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 7480914..6620e8f 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -48,14 +48,6 @@ </processorPath> <module name="dn42peering.central.main" /> </profile> - <profile name="Gradle Imported" enabled="true"> - <outputRelativeToContentRoot value="true" /> - <processorPath useClasspath="false"> - <entry name="$USER_HOME$/.local/share/gradle/caches/modules-2/files-2.1/io.vertx/vertx-codegen/4.0.3/416429ea05c4c43afcf4104ab488bda10f43ba87/vertx-codegen-4.0.3-processor.jar" /> - <entry name="$USER_HOME$/.local/share/gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.11.3/c2351800432bdbdd8284c3f5a7f0782a352aa84a/jackson-core-2.11.3.jar" /> - </processorPath> - <module name="dn42peering.rpc-common.main" /> - </profile> </annotationProcessing> <bytecodeTargetLevel target="1.8" /> </component> diff --git a/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java b/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java index 5127df0..e7a1966 100644 --- a/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java +++ b/central/src/main/java/moe/yuuta/dn42peering/manage/ManageHandler.java @@ -687,6 +687,7 @@ public class ManageHandler implements ISubRouter { !Inet6Address.getByName(ipv6).isLinkLocalAddress()) { errors.add("IPv6 address is illegal. It must be a dn42 or link-local IPv6 address."); } + ipv6 = ipv6.replaceAll("((?::0\\b){2,}):?(?!\\S*\\b\\1:0\\b)(\\S*)", "::$2"); } else errors.add("IPv6 address is illegal. Cannot parse your address."); } else { |