Skip to content

Commit 4ed20b7

Browse files
Fix vulnerabilities in netty (#135)
* Update library versions * Bump versions
1 parent 7279001 commit 4ed20b7

4 files changed

Lines changed: 27 additions & 10 deletions

File tree

pom.xml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88
<artifactId>kafka-sink-azure-kusto</artifactId>
99
<packaging>jar</packaging>
1010
<description>A Kafka Connect plugin for Azure Data Explorer (Kusto) Database</description>
11-
<version>4.1.3</version>
11+
<version>4.1.4</version>
1212
<properties>
1313
<avro.random.generator.version>0.4.1</avro.random.generator.version>
1414
<awaitility.version>4.2.2</awaitility.version>
1515
<az.core.version>1.54.1</az.core.version>
16-
<az.identity.version>1.14.2</az.identity.version>
17-
<az.netty.version>1.15.7</az.netty.version>
16+
<az.identity.version>1.15.2</az.identity.version>
17+
<az.netty.version>1.15.9</az.netty.version>
1818
<commoncodec.version>1.17.1</commoncodec.version>
1919
<commonio.version>2.16.1</commonio.version>
2020
<dependency-check-maven.version>10.0.2</dependency-check-maven.version>
@@ -163,6 +163,9 @@
163163
<groupId>org.owasp</groupId>
164164
<artifactId>dependency-check-maven</artifactId>
165165
<version>${dependency-check-maven.version}</version>
166+
<configuration>
167+
<assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
168+
</configuration>
166169
</plugin>
167170
</plugins>
168171
<resources>

src/test/java/com/microsoft/azure/kusto/kafka/connect/sink/Utils.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import java.util.Objects;
77

88
import org.apache.commons.io.FilenameUtils;
9+
import org.jetbrains.annotations.Contract;
10+
import org.jetbrains.annotations.NotNull;
911
import org.slf4j.Logger;
1012
import org.slf4j.LoggerFactory;
1113

@@ -16,6 +18,11 @@ private Utils() {
1618

1719
}
1820

21+
@Contract(pure = true)
22+
public static @NotNull String getConnectPath() {
23+
return "/kafka/connect/kafka-sink-azure-kusto";
24+
}
25+
1926
public static File getCurrentWorkingDirectory() {
2027
File currentDirectory = new File(Paths.get(
2128
System.getProperty("java.io.tmpdir"),

src/test/java/com/microsoft/azure/kusto/kafka/connect/sink/it/KustoSinkIT.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.slf4j.LoggerFactory;
3737
import org.testcontainers.containers.KafkaContainer;
3838
import org.testcontainers.containers.Network;
39+
import org.testcontainers.images.builder.Transferable;
3940
import org.testcontainers.lifecycle.Startables;
4041
import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper;
4142
import org.testcontainers.utility.DockerImageName;
@@ -47,6 +48,7 @@
4748
import com.microsoft.azure.kusto.data.auth.ConnectionStringBuilder;
4849
import com.microsoft.azure.kusto.data.exceptions.DataClientException;
4950
import com.microsoft.azure.kusto.data.exceptions.DataServiceException;
51+
import com.microsoft.azure.kusto.kafka.connect.sink.Utils;
5052
import com.microsoft.azure.kusto.kafka.connect.sink.Version;
5153
import com.microsoft.azure.kusto.kafka.connect.sink.it.containers.KustoKafkaConnectContainer;
5254
import com.microsoft.azure.kusto.kafka.connect.sink.it.containers.ProxyContainer;
@@ -103,14 +105,16 @@ public static void startContainers() throws Exception {
103105
refreshDm();
104106
// Mount the libs
105107
String mountPath = String.format(
106-
"target/components/packages/microsoftcorporation-kafka-sink-azure-kusto-%s/microsoftcorporation-kafka-sink-azure-kusto-%s/lib",
107-
Version.getVersion(), Version.getVersion());
108-
log.info("Creating connector jar with version {} and mounting it from {},", Version.getVersion(), mountPath);
109-
connectContainer.withFileSystemBind(mountPath, "/kafka/connect/kafka-sink-azure-kusto");
108+
"target/kafka-sink-azure-kusto-%s-jar-with-dependencies.jar",
109+
Version.getVersion());
110+
log.info("Creating connector jar with version {} and mounting it from {}", Version.getVersion(), mountPath);
111+
Transferable source = MountableFile.forHostPath(mountPath);
112+
connectContainer.withCopyToContainer(source, Utils.getConnectPath());
110113
Startables.deepStart(Stream.of(kafkaContainer, schemaRegistryContainer, proxyContainer, connectContainer)).join();
111114
log.info("Started containers , copying scripts to container and executing them");
112115
connectContainer.withCopyToContainer(MountableFile.forClasspathResource("download-libs.sh", 744), // rwx--r--r--
113-
"/kafka/connect/kafka-sink-azure-kusto/download-libs.sh").execInContainer("sh", "/kafka/connect/kafka-sink-azure-kusto/download-libs.sh");
116+
String.format("%s/download-libs.sh", Utils.getConnectPath()))
117+
.execInContainer("sh", String.format("%s/download-libs.sh", Utils.getConnectPath()));
114118
// Logs of start up of the container gets published here. This will be handy in case we want to look at startup failures
115119
log.debug(connectContainer.getLogs());
116120
} else {
@@ -206,8 +210,9 @@ public void shouldHandleAllTypesOfEvents() {
206210
log.info("Connector state for {} : {}. ", dataFormat,
207211
connectContainer.getConnectorTaskState(String.format("adx-connector-%s", dataFormat), 0));
208212
try {
213+
Thread.sleep(10_000);
209214
produceKafkaMessages(dataFormat);
210-
Thread.sleep(10000);
215+
Thread.sleep(5_000);
211216
} catch (IOException | InterruptedException e) {
212217
throw new RuntimeException(e);
213218
}

src/test/java/com/microsoft/azure/kusto/kafka/connect/sink/it/containers/KustoKafkaConnectContainer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.fasterxml.jackson.core.JsonParser;
2727
import com.fasterxml.jackson.core.JsonProcessingException;
2828
import com.fasterxml.jackson.databind.ObjectMapper;
29+
import com.microsoft.azure.kusto.kafka.connect.sink.Utils;
2930

3031
public class KustoKafkaConnectContainer extends GenericContainer<KustoKafkaConnectContainer> {
3132
private static final String KAFKA_CONNECT_IMAGE = "confluentinc/cp-kafka-connect-base";
@@ -69,7 +70,8 @@ public KustoKafkaConnectContainer withKafka(final Network network, final String
6970
env.put("CONNECT_VALUE_CONVERTER", "org.apache.kafka.connect.converters.ByteArrayConverter");
7071
env.put("CONNECT_REST_ADVERTISED_HOST_NAME", "kusto-e2e-connect");
7172
env.put("CONNECT_REST_PORT", String.valueOf(KAFKA_CONNECT_PORT));
72-
env.put("CONNECT_PLUGIN_PATH", "/kafka/connect");
73+
env.put("CONNECT_PLUGIN_PATH", Utils.getConnectPath());
74+
env.put("CLASSPATH", Utils.getConnectPath());
7375
withEnv(env);
7476
return self();
7577
}

0 commit comments

Comments
 (0)