Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion nsecbunker-account/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-account</artifactId>
Expand All @@ -19,7 +19,7 @@

<dependencies>
<!-- Internal -->
<dependency>

Check notice on line 22 in nsecbunker-account/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 22 in nsecbunker-account/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-core</artifactId>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-admin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-admin</artifactId>
Expand All @@ -19,7 +19,7 @@

<dependencies>
<!-- Internal -->
<dependency>

Check notice on line 22 in nsecbunker-admin/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 22 in nsecbunker-admin/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-core</artifactId>
</dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,20 +58,22 @@ public DefaultKeyManager(NsecBunkerAdminClient adminClient, ObjectMapper objectM
@Override
public CompletableFuture<BunkerKey> createKey(String name, String nsec, String passphrase) {
validateName(name);
requirePassphrase(passphrase);
if (nsec == null || nsec.isBlank()) {
throw new IllegalArgumentException("nsec must not be null or blank");
}

return sendForKey(METHOD_CREATE_NEW_KEY, List.of(name, passphrase, nsec), name);
// Empty passphrase is allowed - nsecbunkerd will store the key unencrypted
String normalizedPassphrase = normalizePassphrase(passphrase);
return sendForKey(METHOD_CREATE_NEW_KEY, List.of(name, normalizedPassphrase, nsec), name);
}

@Override
public CompletableFuture<BunkerKey> createKey(String name, String passphrase) {
validateName(name);
requirePassphrase(passphrase);

return sendForKey(METHOD_CREATE_NEW_KEY, List.of(name, passphrase), name);
// Empty passphrase is allowed - nsecbunkerd will store the key unencrypted
String normalizedPassphrase = normalizePassphrase(passphrase);
return sendForKey(METHOD_CREATE_NEW_KEY, List.of(name, normalizedPassphrase), name);
}

@Override
Expand All @@ -83,9 +85,10 @@ public CompletableFuture<List<BunkerKey>> listKeys() {
@Override
public CompletableFuture<Boolean> unlockKey(String name, String passphrase) {
validateName(name);
requirePassphrase(passphrase);

return sendForResult(METHOD_UNLOCK_KEY, List.of(name, passphrase), "unlock key " + name)
// Empty passphrase is allowed - for keys stored without encryption
String normalizedPassphrase = normalizePassphrase(passphrase);
return sendForResult(METHOD_UNLOCK_KEY, List.of(name, normalizedPassphrase), "unlock key " + name)
.thenApply(ignored -> Boolean.TRUE);
}

Expand All @@ -108,9 +111,9 @@ public CompletableFuture<BunkerKey> getKeyDetails(String name) {
public CompletableFuture<BunkerKey> rotateKey(String oldName, String newName, String passphrase) {
validateName(oldName);
validateName(newName);
requirePassphrase(passphrase);

return sendForKey(METHOD_ROTATE_KEY, List.of(oldName, newName, passphrase), newName);
String normalizedPassphrase = normalizePassphrase(passphrase);
return sendForKey(METHOD_ROTATE_KEY, List.of(oldName, newName, normalizedPassphrase), newName);
}

private CompletableFuture<String> sendForResult(String method, List<String> params, String description) {
Expand Down Expand Up @@ -185,9 +188,14 @@ private void validateName(String name) {
}
}

private void requirePassphrase(String passphrase) {
if (passphrase == null || passphrase.isBlank()) {
throw new IllegalArgumentException("Passphrase must not be null or blank");
}
/**
* Normalizes a passphrase to an empty string if null or blank.
* This allows creating/unlocking keys without encryption.
*
* @param passphrase the passphrase to normalize
* @return the passphrase or empty string if null/blank
*/
private String normalizePassphrase(String passphrase) {
return passphrase != null && !passphrase.isBlank() ? passphrase : "";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,45 @@ void shouldRotateKey() throws Exception {
assertThat(request.getParams()).containsExactlyElementsOf(List.of("cashu-old", "cashu-rotated", TEST_PASSPHRASE));
}

/**
* Ensures creating a key with null passphrase normalizes it to empty string.
*/
@Test
void shouldCreateKeyWithNullPassphraseNormalizedToEmpty() {
// Arrange
String npub = "npub1nopwd";
ArgumentCaptor<Nip46Request> requestCaptor = ArgumentCaptor.forClass(Nip46Request.class);
when(adminClient.sendRequest(requestCaptor.capture()))
.thenReturn(CompletableFuture.completedFuture(Nip46Response.success("1", npub)));

// Act
BunkerKey result = keyManager.createKey("key-no-passphrase", null).join();

// Assert
assertThat(result.getName()).isEqualTo("key-no-passphrase");
Nip46Request request = requestCaptor.getValue();
assertThat(request.getParams()).containsExactlyElementsOf(List.of("key-no-passphrase", ""));
}

/**
* Ensures unlocking a key with null passphrase normalizes it to empty string.
*/
@Test
void shouldUnlockKeyWithNullPassphraseNormalizedToEmpty() {
// Arrange
ArgumentCaptor<Nip46Request> requestCaptor = ArgumentCaptor.forClass(Nip46Request.class);
when(adminClient.sendRequest(requestCaptor.capture()))
.thenReturn(CompletableFuture.completedFuture(Nip46Response.success("1", "ok")));

// Act
boolean result = keyManager.unlockKey("key-unencrypted", null).join();

// Assert
assertThat(result).isTrue();
Nip46Request request = requestCaptor.getValue();
assertThat(request.getParams()).containsExactlyElementsOf(List.of("key-unencrypted", ""));
}

/**
* Ensures NIP-46 errors are surfaced as AdminException through the future.
*/
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-client</artifactId>
Expand All @@ -33,7 +33,7 @@
</dependency>

<!-- Nostr Java -->
<dependency>

Check notice on line 36 in nsecbunker-client/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 36 in nsecbunker-client/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nostr-java-api</artifactId>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-connection/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-connection</artifactId>
Expand All @@ -25,7 +25,7 @@
</dependency>

<!-- Nostr Java -->
<dependency>

Check notice on line 28 in nsecbunker-connection/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 28 in nsecbunker-connection/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nostr-java-api</artifactId>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-core</artifactId>
Expand All @@ -19,7 +19,7 @@

<dependencies>
<!-- Nostr Java -->
<dependency>

Check notice on line 22 in nsecbunker-core/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 22 in nsecbunker-core/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nostr-java-api</artifactId>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-monitoring/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-monitoring</artifactId>
Expand All @@ -19,7 +19,7 @@

<dependencies>
<!-- Internal -->
<dependency>

Check notice on line 22 in nsecbunker-monitoring/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 22 in nsecbunker-monitoring/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-core</artifactId>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-protocol/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-protocol</artifactId>
Expand All @@ -29,7 +29,7 @@
</dependency>

<!-- Nostr Java -->
<dependency>

Check notice on line 32 in nsecbunker-protocol/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 32 in nsecbunker-protocol/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nostr-java-api</artifactId>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-spring-boot-starter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-spring-boot-starter</artifactId>
Expand All @@ -19,7 +19,7 @@

<dependencies>
<!-- Internal -->
<dependency>

Check notice on line 22 in nsecbunker-spring-boot-starter/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 22 in nsecbunker-spring-boot-starter/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-admin</artifactId>
</dependency>
Expand All @@ -37,7 +37,7 @@
</dependency>

<!-- Spring Boot -->
<dependency>

Check notice on line 40 in nsecbunker-spring-boot-starter/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 40 in nsecbunker-spring-boot-starter/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-tests/nsecbunker-chaos/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-tests</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-chaos</artifactId>
Expand Down Expand Up @@ -41,7 +41,7 @@
<artifactId>nsecbunker-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>

Check notice on line 44 in nsecbunker-tests/nsecbunker-chaos/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 44 in nsecbunker-tests/nsecbunker-chaos/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-connection</artifactId>
<version>${project.version}</version>
Expand Down Expand Up @@ -75,7 +75,7 @@
<artifactId>mockwebserver</artifactId>
<scope>test</scope>
</dependency>
<dependency>

Check notice on line 78 in nsecbunker-tests/nsecbunker-chaos/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 78 in nsecbunker-tests/nsecbunker-chaos/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,34 @@ void shouldStopAfterMaxReconnectAttempts() throws Exception {
}

/**
* No-op WebSocket listener for MockWebServer upgrades.
* WebSocket listener for MockWebServer upgrades that properly handles lifecycle.
*
* <p>A completely empty listener causes NPE in OkHttp's RealWebSocket.loopReader
* because the reader loop expects proper lifecycle handling. This implementation
* handles onOpen, onMessage, and onClosing to prevent the MockWebServer crash.
*/
private static final class NoopWebSocketListener extends okhttp3.WebSocketListener {

@Override
public void onOpen(okhttp3.WebSocket webSocket, okhttp3.Response response) {
// Connection opened - no action needed for test
}

@Override
public void onMessage(okhttp3.WebSocket webSocket, String text) {
// Message received - no action needed for test
}

@Override
public void onClosing(okhttp3.WebSocket webSocket, int code, String reason) {
// Server closing - echo back close to complete handshake
webSocket.close(code, reason);
}

@Override
public void onFailure(okhttp3.WebSocket webSocket, Throwable t, okhttp3.Response response) {
// Connection failed - no action needed for test
}
}

/**
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-tests/nsecbunker-e2e/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-tests</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-e2e</artifactId>
Expand Down Expand Up @@ -51,7 +51,7 @@
</dependency>

<!-- nostr-java -->
<dependency>

Check notice on line 54 in nsecbunker-tests/nsecbunker-e2e/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 54 in nsecbunker-tests/nsecbunker-e2e/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nostr-java-api</artifactId>
</dependency>
Expand All @@ -73,7 +73,7 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>

Check notice on line 76 in nsecbunker-tests/nsecbunker-e2e/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 76 in nsecbunker-tests/nsecbunker-e2e/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
Expand Down Expand Up @@ -109,7 +109,7 @@
</dependency>

<!-- Testcontainers -->
<dependency>

Check warning on line 112 in nsecbunker-tests/nsecbunker-e2e/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-compress:1.24.0 * [CVE-2024-25710](https://www.mend.io/vulnerability-database/CVE-2024-25710?utm_source=JetBrains) 8.1 Loop with Unreachable Exit Condition ('Infinite Loop') * [CVE-2024-26308](https://www.mend.io/vulnerability-database/CVE-2024-26308?utm_source=JetBrains) 5.5 Allocation of Resources Without Limits or Throttling Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check warning on line 112 in nsecbunker-tests/nsecbunker-e2e/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-compress:1.24.0 * [CVE-2024-25710](https://www.mend.io/vulnerability-database/CVE-2024-25710?utm_source=JetBrains) 8.1 Loop with Unreachable Exit Condition ('Infinite Loop') * [CVE-2024-26308](https://www.mend.io/vulnerability-database/CVE-2024-26308?utm_source=JetBrains) 5.5 Allocation of Resources Without Limits or Throttling Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-tests/nsecbunker-it/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-tests</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-it</artifactId>
Expand All @@ -22,7 +22,7 @@
</properties>

<dependencies>
<dependency>

Check notice on line 25 in nsecbunker-tests/nsecbunker-it/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 25 in nsecbunker-tests/nsecbunker-it/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-client</artifactId>
</dependency>
Expand All @@ -48,7 +48,7 @@
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>

Check warning on line 51 in nsecbunker-tests/nsecbunker-it/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-compress:1.24.0 * [CVE-2024-25710](https://www.mend.io/vulnerability-database/CVE-2024-25710?utm_source=JetBrains) 8.1 Loop with Unreachable Exit Condition ('Infinite Loop') * [CVE-2024-26308](https://www.mend.io/vulnerability-database/CVE-2024-26308?utm_source=JetBrains) 5.5 Allocation of Resources Without Limits or Throttling Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check warning on line 51 in nsecbunker-tests/nsecbunker-it/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-compress:1.24.0 * [CVE-2024-25710](https://www.mend.io/vulnerability-database/CVE-2024-25710?utm_source=JetBrains) 8.1 Loop with Unreachable Exit Condition ('Infinite Loop') * [CVE-2024-26308](https://www.mend.io/vulnerability-database/CVE-2024-26308?utm_source=JetBrains) 5.5 Allocation of Resources Without Limits or Throttling Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
Expand All @@ -63,7 +63,7 @@
<artifactId>mockito-junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>

Check notice on line 66 in nsecbunker-tests/nsecbunker-it/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 66 in nsecbunker-tests/nsecbunker-it/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,8 @@ void connectIsIdempotentWhenConnected() throws Exception {

client.connect();
assertThat(client.isConnected()).isTrue();
// Wait for server to register the connection
assertThat(mockRelay.awaitConnection(5, TimeUnit.SECONDS)).isTrue();

// Second connect should not throw
client.connect();
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-tests/nsecbunker-perf/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-tests</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-perf</artifactId>
Expand Down Expand Up @@ -46,7 +46,7 @@
</dependency>

<!-- nostr-java -->
<dependency>

Check notice on line 49 in nsecbunker-tests/nsecbunker-perf/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 49 in nsecbunker-tests/nsecbunker-perf/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nostr-java-api</artifactId>
</dependency>
Expand Down Expand Up @@ -89,7 +89,7 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>

Check notice on line 92 in nsecbunker-tests/nsecbunker-perf/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 92 in nsecbunker-tests/nsecbunker-perf/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>runtime</scope>
Expand All @@ -115,7 +115,7 @@
</dependency>

<!-- Testcontainers for load tests -->
<dependency>

Check warning on line 118 in nsecbunker-tests/nsecbunker-perf/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-compress:1.24.0 * [CVE-2024-25710](https://www.mend.io/vulnerability-database/CVE-2024-25710?utm_source=JetBrains) 8.1 Loop with Unreachable Exit Condition ('Infinite Loop') * [CVE-2024-26308](https://www.mend.io/vulnerability-database/CVE-2024-26308?utm_source=JetBrains) 5.5 Allocation of Resources Without Limits or Throttling Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check warning on line 118 in nsecbunker-tests/nsecbunker-perf/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-compress:1.24.0 * [CVE-2024-25710](https://www.mend.io/vulnerability-database/CVE-2024-25710?utm_source=JetBrains) 8.1 Loop with Unreachable Exit Condition ('Infinite Loop') * [CVE-2024-26308](https://www.mend.io/vulnerability-database/CVE-2024-26308?utm_source=JetBrains) 5.5 Allocation of Resources Without Limits or Throttling Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-tests/nsecbunker-security/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-tests</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-security</artifactId>
Expand All @@ -16,7 +16,7 @@

<dependencies>
<!-- Project modules under test -->
<dependency>

Check notice on line 19 in nsecbunker-tests/nsecbunker-security/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 19 in nsecbunker-tests/nsecbunker-security/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:org.apache.commons:commons-lang3:3.17.0 * [CVE-2025-48924](https://www.mend.io/vulnerability-database/CVE-2025-48924?utm_source=Jetbrains) 5.3 Insufficient Information Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-core</artifactId>
<version>${project.version}</version>
Expand Down Expand Up @@ -89,7 +89,7 @@
</dependency>

<!-- Logging -->
<dependency>

Check notice on line 92 in nsecbunker-tests/nsecbunker-security/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)

Check notice on line 92 in nsecbunker-tests/nsecbunker-security/pom.xml

View workflow job for this annotation

GitHub Actions / Qodana for JVM

Vulnerable declared dependency

Provides transitive vulnerable dependency maven:ch.qos.logback:logback-core:1.5.15 * [CVE-2025-11226](https://www.mend.io/vulnerability-database/CVE-2025-11226?utm_source=JetBrains) 6.9 Conditional processing of logback.xml configuration file, in conjuction with Spring Framework and Janino Results powered by [Mend.io](https://www.mend.io/jetbrains-lp/?utm_source=JetBrains)
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
Expand Down
2 changes: 1 addition & 1 deletion nsecbunker-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
</parent>

<artifactId>nsecbunker-tests</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<groupId>xyz.tcheeric</groupId>
<artifactId>nsecbunker-java</artifactId>
<version>0.1.0</version>
<version>0.1.1</version>
<packaging>pom</packaging>

<name>nsecBunker Java Library</name>
Expand Down
Loading