From 366390a46836c529bbd01bf9107a8b42e0d39ac0 Mon Sep 17 00:00:00 2001 From: jmacxx <47253594+jmacxx@users.noreply.github.com> Date: Tue, 30 Jun 2020 08:47:45 -0500 Subject: [PATCH] Fix tor v3 address validation The regex validation for addresses was not accepting tor v3 format. This patch allows tor v3 addresses which are always 56 chars in length (whereas tor v2 addresses are always 16 chars in length). --- desktop/src/main/java/bisq/desktop/util/GUIUtil.java | 5 +++-- desktop/src/test/java/bisq/desktop/util/GUIUtilTest.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java index a7ddf443909..04ae97f7b39 100644 --- a/desktop/src/main/java/bisq/desktop/util/GUIUtil.java +++ b/desktop/src/main/java/bisq/desktop/util/GUIUtil.java @@ -1129,6 +1129,7 @@ public static RegexValidator addressRegexValidator() { RegexValidator regexValidator = new RegexValidator(); String portRegexPattern = "(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])"; String onionV2RegexPattern = String.format("[a-zA-Z2-7]{16}\\.onion(?:\\:%1$s)?", portRegexPattern); + String onionV3RegexPattern = String.format("[a-zA-Z2-7]{56}\\.onion(?:\\:%1$s)?", portRegexPattern); String ipv4RegexPattern = String.format("(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}" + "(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" + "(?:\\:%1$s)?", portRegexPattern); @@ -1152,8 +1153,8 @@ public static RegexValidator addressRegexValidator() { ")"; // (IPv4-Embedded IPv6 Address) ipv6RegexPattern = String.format("(?:%1$s)|(?:\\[%1$s\\]\\:%2$s)", ipv6RegexPattern, portRegexPattern); String fqdnRegexPattern = String.format("(((?!-)[a-zA-Z0-9-]{1,63}(?