From 1a58879a2ff14cfbdb4f3f333ddad671790e4d46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A6=D1=8B=D0=BF=D0=B0=D0=B5=D0=B2=20=D0=92=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9D=D0=B8=D0=BA=D0=BE=D0=BB?= =?UTF-8?q?=D0=B0=D0=B5=D0=B2=D0=B8=D1=87?= Date: Thu, 9 Jan 2020 09:52:39 +0500 Subject: [PATCH 1/3] Resolve "Add possibility to see stream info if apiKey have read or manage rules" --- .../vostok/hercules/auth/AuthProvider.java | 39 +++++++++++++++++++ .../ru/kontur/vostok/hercules/auth/Right.java | 12 ++++++ .../api/stream/InfoStreamHandler.java | 3 +- 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 hercules-auth/src/main/java/ru/kontur/vostok/hercules/auth/Right.java diff --git a/hercules-auth/src/main/java/ru/kontur/vostok/hercules/auth/AuthProvider.java b/hercules-auth/src/main/java/ru/kontur/vostok/hercules/auth/AuthProvider.java index d3267eeb7..65d167dbf 100644 --- a/hercules-auth/src/main/java/ru/kontur/vostok/hercules/auth/AuthProvider.java +++ b/hercules-auth/src/main/java/ru/kontur/vostok/hercules/auth/AuthProvider.java @@ -135,4 +135,43 @@ public AuthResult authWrite(HttpServerRequest request, String name) { return AuthResult.unknown(); } } + + /** + * Authorize any access from {@code rights} using authentication context of the http request. + * If at least one of right from {@code rights} is authorize success, then return {@link AuthResult#ok()}. + * + * @param request the http request + * @param name the resource name + * @param rights access rights + * @return authorization result + */ + public AuthResult authAny(HttpServerRequest request, String name, Right... rights) { + if (rights.length == 0) { + return AuthResult.unknown(); + } + AuthResult result; + for (Right right : rights) { + if (right == Right.READ) { + result = authRead(request, name); + if (result.isSuccess()) { + return result; + } + continue; + } + if (right == Right.WRITE) { + result = authWrite(request, name); + if (result.isSuccess()) { + return result; + } + continue; + } + if (right == Right.MANAGE) { + result = authManage(request, name); + if (result.isSuccess()) { + return result; + } + } + } + return AuthResult.unknown(); + } } diff --git a/hercules-auth/src/main/java/ru/kontur/vostok/hercules/auth/Right.java b/hercules-auth/src/main/java/ru/kontur/vostok/hercules/auth/Right.java new file mode 100644 index 000000000..0313e8f62 --- /dev/null +++ b/hercules-auth/src/main/java/ru/kontur/vostok/hercules/auth/Right.java @@ -0,0 +1,12 @@ +package ru.kontur.vostok.hercules.auth; + +/** + * The type of right. + * + * @author Vladimir Tsypaev + */ +public enum Right { + READ, + WRITE, + MANAGE; +} diff --git a/hercules-management-api/src/main/java/ru/kontur/vostok/hercules/management/api/stream/InfoStreamHandler.java b/hercules-management-api/src/main/java/ru/kontur/vostok/hercules/management/api/stream/InfoStreamHandler.java index 1ae2e9916..e7a3c4edf 100644 --- a/hercules-management-api/src/main/java/ru/kontur/vostok/hercules/management/api/stream/InfoStreamHandler.java +++ b/hercules-management-api/src/main/java/ru/kontur/vostok/hercules/management/api/stream/InfoStreamHandler.java @@ -4,6 +4,7 @@ import org.slf4j.LoggerFactory; import ru.kontur.vostok.hercules.auth.AuthProvider; import ru.kontur.vostok.hercules.auth.AuthResult; +import ru.kontur.vostok.hercules.auth.Right; import ru.kontur.vostok.hercules.curator.exception.CuratorException; import ru.kontur.vostok.hercules.http.HttpServerRequest; import ru.kontur.vostok.hercules.http.HttpStatusCodes; @@ -44,7 +45,7 @@ public void handle(HttpServerRequest request) { return; } - AuthResult authResult = authProvider.authManage(request, streamName.get()); + AuthResult authResult = authProvider.authAny(request, streamName.get(), Right.READ, Right.MANAGE); if (!authResult.isSuccess()) { if (authResult.isUnknown()) { request.complete(HttpStatusCodes.UNAUTHORIZED); From 0d498c1703407e5bdaa429d327923bbd9a616e3c Mon Sep 17 00:00:00 2001 From: gnkoshelev Date: Thu, 9 Jan 2020 12:49:59 +0500 Subject: [PATCH 2/3] Fix IndexResolver to accept dot in index name --- .../hercules/elastic/sink/index/IndexResolver.java | 12 ++++++++++-- .../elastic/sink/index/IndexResolverTest.java | 4 ++-- .../kontur/vostok/hercules/util/text/CharUtil.java | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/hercules-elastic-sink/src/main/java/ru/kontur/vostok/hercules/elastic/sink/index/IndexResolver.java b/hercules-elastic-sink/src/main/java/ru/kontur/vostok/hercules/elastic/sink/index/IndexResolver.java index 5862d0772..ffb1ebbd1 100644 --- a/hercules-elastic-sink/src/main/java/ru/kontur/vostok/hercules/elastic/sink/index/IndexResolver.java +++ b/hercules-elastic-sink/src/main/java/ru/kontur/vostok/hercules/elastic/sink/index/IndexResolver.java @@ -90,8 +90,16 @@ private static String getFormattedDate(Event event) { return DATE_FORMATTER.format(TimeUtil.unixTicksToInstant(event.getTimestamp())); } - private static final Pattern ILLEGAL_CHARS = Pattern.compile("[^-a-zA-Z0-9_]"); - + private static final Pattern ILLEGAL_CHARS = Pattern.compile("[^-a-zA-Z0-9_.]"); + + /** + * Replace illegal characters with underscore {@code _}. + *

+ * Illegal character is any character which is not alphanumeric, minus sign {@code -}, underscore {@code _} or dot {@code .}. + * + * @param s the string + * @return the sanitized string + */ private static String sanitize(String s) { return ILLEGAL_CHARS.matcher(s).replaceAll("_"). toLowerCase(); diff --git a/hercules-elastic-sink/src/test/java/ru/kontur/vostok/hercules/elastic/sink/index/IndexResolverTest.java b/hercules-elastic-sink/src/test/java/ru/kontur/vostok/hercules/elastic/sink/index/IndexResolverTest.java index 6c945c433..753c0c480 100644 --- a/hercules-elastic-sink/src/test/java/ru/kontur/vostok/hercules/elastic/sink/index/IndexResolverTest.java +++ b/hercules-elastic-sink/src/test/java/ru/kontur/vostok/hercules/elastic/sink/index/IndexResolverTest.java @@ -93,13 +93,13 @@ public void shouldSanitizeIndexName() { tag("properties", Variant.ofContainer( Container.builder(). tag("project", Variant.ofString("Project")). - tag("environment", Variant.ofString("DEV")). + tag("environment", Variant.ofString("D.E.V")). tag("subproject", Variant.ofString(">Ю")). build())). build(); Optional index = indexResolver.resolve(event); Assert.assertTrue(index.isPresent()); - Assert.assertEquals("project_to_test_-dev-__-2019.12.01", index.get()); + Assert.assertEquals("project_to_test_-d.e.v-__-2019.12.01", index.get()); } } diff --git a/hercules-util/src/main/java/ru/kontur/vostok/hercules/util/text/CharUtil.java b/hercules-util/src/main/java/ru/kontur/vostok/hercules/util/text/CharUtil.java index 7847d9081..29c344abb 100644 --- a/hercules-util/src/main/java/ru/kontur/vostok/hercules/util/text/CharUtil.java +++ b/hercules-util/src/main/java/ru/kontur/vostok/hercules/util/text/CharUtil.java @@ -7,6 +7,7 @@ public final class CharUtil { public static boolean isAlphaNumeric(char c) { return isLatin(c) || isDigit(c); } + public static boolean isLatin(char c) { return isUpperCaseLatin(c) || isLowerCaseLatin(c); } From 9b09cd16aac1d21a6287a37c23cbc2986dfb08b6 Mon Sep 17 00:00:00 2001 From: gnkoshelev Date: Thu, 9 Jan 2020 12:54:55 +0500 Subject: [PATCH 3/3] Upgrade version to 0.33.1-SNAPSHOT --- hercules-application/pom.xml | 2 +- hercules-auth/pom.xml | 2 +- hercules-cassandra-sink/pom.xml | 2 +- hercules-cassandra-util/pom.xml | 2 +- hercules-client/pom.xml | 2 +- hercules-configuration/pom.xml | 2 +- hercules-curator/pom.xml | 2 +- hercules-elastic-sink/pom.xml | 2 +- hercules-gate-client/pom.xml | 2 +- hercules-gate/pom.xml | 2 +- hercules-graphite-sink/pom.xml | 2 +- hercules-health/pom.xml | 2 +- hercules-http/pom.xml | 2 +- hercules-init/pom.xml | 2 +- hercules-json/pom.xml | 2 +- hercules-kafka-util/pom.xml | 2 +- hercules-management-api/pom.xml | 2 +- hercules-meta/pom.xml | 2 +- hercules-partitioner/pom.xml | 2 +- hercules-protocol/pom.xml | 2 +- hercules-sd/pom.xml | 2 +- hercules-sentry-sink/pom.xml | 2 +- hercules-sink/pom.xml | 2 +- hercules-stream-api/pom.xml | 2 +- hercules-stream-manager/pom.xml | 2 +- hercules-stream-sink/pom.xml | 2 +- hercules-tags/pom.xml | 2 +- hercules-throttling/pom.xml | 2 +- hercules-timeline-api/pom.xml | 2 +- hercules-timeline-manager/pom.xml | 2 +- hercules-timeline-sink/pom.xml | 2 +- hercules-tracing-api/pom.xml | 2 +- hercules-tracing-sink/pom.xml | 2 +- hercules-undertow-util/pom.xml | 2 +- hercules-util/pom.xml | 2 +- hercules-uuid/pom.xml | 2 +- pom.xml | 4 ++-- 37 files changed, 38 insertions(+), 38 deletions(-) diff --git a/hercules-application/pom.xml b/hercules-application/pom.xml index a13c9783e..8e100572f 100644 --- a/hercules-application/pom.xml +++ b/hercules-application/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-auth/pom.xml b/hercules-auth/pom.xml index 74d17856a..399bff71b 100644 --- a/hercules-auth/pom.xml +++ b/hercules-auth/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-cassandra-sink/pom.xml b/hercules-cassandra-sink/pom.xml index e51073a58..2a7787407 100644 --- a/hercules-cassandra-sink/pom.xml +++ b/hercules-cassandra-sink/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-cassandra-util/pom.xml b/hercules-cassandra-util/pom.xml index 120020db7..f22b5dbd6 100644 --- a/hercules-cassandra-util/pom.xml +++ b/hercules-cassandra-util/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-client/pom.xml b/hercules-client/pom.xml index 7149fac07..59f7f8662 100644 --- a/hercules-client/pom.xml +++ b/hercules-client/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-configuration/pom.xml b/hercules-configuration/pom.xml index e6fdc6966..5d38be8cb 100644 --- a/hercules-configuration/pom.xml +++ b/hercules-configuration/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-curator/pom.xml b/hercules-curator/pom.xml index e52115571..e75aa2638 100644 --- a/hercules-curator/pom.xml +++ b/hercules-curator/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-elastic-sink/pom.xml b/hercules-elastic-sink/pom.xml index 18e35b684..c0c81f781 100644 --- a/hercules-elastic-sink/pom.xml +++ b/hercules-elastic-sink/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-gate-client/pom.xml b/hercules-gate-client/pom.xml index 2c184a7c1..5cbb40867 100644 --- a/hercules-gate-client/pom.xml +++ b/hercules-gate-client/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-gate/pom.xml b/hercules-gate/pom.xml index eca85524d..efaee9bf0 100644 --- a/hercules-gate/pom.xml +++ b/hercules-gate/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-graphite-sink/pom.xml b/hercules-graphite-sink/pom.xml index 39547821e..2a19b1991 100644 --- a/hercules-graphite-sink/pom.xml +++ b/hercules-graphite-sink/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-health/pom.xml b/hercules-health/pom.xml index 21c587416..dd2018b95 100644 --- a/hercules-health/pom.xml +++ b/hercules-health/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-http/pom.xml b/hercules-http/pom.xml index 5077154e1..3f3740502 100644 --- a/hercules-http/pom.xml +++ b/hercules-http/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-init/pom.xml b/hercules-init/pom.xml index 288907299..65c8f4c70 100644 --- a/hercules-init/pom.xml +++ b/hercules-init/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-json/pom.xml b/hercules-json/pom.xml index 8f8c72bd2..e57b3ef0e 100644 --- a/hercules-json/pom.xml +++ b/hercules-json/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-kafka-util/pom.xml b/hercules-kafka-util/pom.xml index 07cb5048f..9895504d4 100644 --- a/hercules-kafka-util/pom.xml +++ b/hercules-kafka-util/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-management-api/pom.xml b/hercules-management-api/pom.xml index 0e076a73e..4d89e01e6 100644 --- a/hercules-management-api/pom.xml +++ b/hercules-management-api/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-meta/pom.xml b/hercules-meta/pom.xml index 22b0c1a4d..b69022770 100644 --- a/hercules-meta/pom.xml +++ b/hercules-meta/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-partitioner/pom.xml b/hercules-partitioner/pom.xml index 65cd9eb0f..f4b4ed30e 100644 --- a/hercules-partitioner/pom.xml +++ b/hercules-partitioner/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-protocol/pom.xml b/hercules-protocol/pom.xml index a1b6cea03..a62f8038c 100644 --- a/hercules-protocol/pom.xml +++ b/hercules-protocol/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-sd/pom.xml b/hercules-sd/pom.xml index b44c06adf..18a4df1b8 100644 --- a/hercules-sd/pom.xml +++ b/hercules-sd/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-sentry-sink/pom.xml b/hercules-sentry-sink/pom.xml index 38583b011..73107369b 100644 --- a/hercules-sentry-sink/pom.xml +++ b/hercules-sentry-sink/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-sink/pom.xml b/hercules-sink/pom.xml index 643a2e680..6e727a985 100644 --- a/hercules-sink/pom.xml +++ b/hercules-sink/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-stream-api/pom.xml b/hercules-stream-api/pom.xml index 693fadf8e..3bf1f5cee 100644 --- a/hercules-stream-api/pom.xml +++ b/hercules-stream-api/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-stream-manager/pom.xml b/hercules-stream-manager/pom.xml index c5bb738fe..8a6b787a9 100644 --- a/hercules-stream-manager/pom.xml +++ b/hercules-stream-manager/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-stream-sink/pom.xml b/hercules-stream-sink/pom.xml index 094bec764..c80196736 100644 --- a/hercules-stream-sink/pom.xml +++ b/hercules-stream-sink/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-tags/pom.xml b/hercules-tags/pom.xml index 640e16746..6c1ca1934 100644 --- a/hercules-tags/pom.xml +++ b/hercules-tags/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-throttling/pom.xml b/hercules-throttling/pom.xml index 343275572..0cda441aa 100644 --- a/hercules-throttling/pom.xml +++ b/hercules-throttling/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-timeline-api/pom.xml b/hercules-timeline-api/pom.xml index 3047f6cb8..534de6155 100644 --- a/hercules-timeline-api/pom.xml +++ b/hercules-timeline-api/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-timeline-manager/pom.xml b/hercules-timeline-manager/pom.xml index 552d36077..cf1bf553b 100644 --- a/hercules-timeline-manager/pom.xml +++ b/hercules-timeline-manager/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-timeline-sink/pom.xml b/hercules-timeline-sink/pom.xml index 5743eb0d8..f05677892 100644 --- a/hercules-timeline-sink/pom.xml +++ b/hercules-timeline-sink/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-tracing-api/pom.xml b/hercules-tracing-api/pom.xml index b2d0ac95d..0762e6a0d 100644 --- a/hercules-tracing-api/pom.xml +++ b/hercules-tracing-api/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-tracing-sink/pom.xml b/hercules-tracing-sink/pom.xml index 6018ed35e..b54fbc806 100644 --- a/hercules-tracing-sink/pom.xml +++ b/hercules-tracing-sink/pom.xml @@ -5,7 +5,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-undertow-util/pom.xml b/hercules-undertow-util/pom.xml index 4ca9fbf8c..1f75dbd6d 100644 --- a/hercules-undertow-util/pom.xml +++ b/hercules-undertow-util/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-util/pom.xml b/hercules-util/pom.xml index d3ec22663..b8cfef7b8 100644 --- a/hercules-util/pom.xml +++ b/hercules-util/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/hercules-uuid/pom.xml b/hercules-uuid/pom.xml index 5fadbba9f..cede90bcf 100644 --- a/hercules-uuid/pom.xml +++ b/hercules-uuid/pom.xml @@ -3,7 +3,7 @@ hercules ru.kontur.vostok.hercules - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index bda92eb2a..2d8bcca60 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ ru.kontur.vostok.hercules hercules pom - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT UTF-8 @@ -14,7 +14,7 @@ 1.8 1.8 - 0.33.0-SNAPSHOT + 0.33.1-SNAPSHOT 2.2.0 3.4.13