From 7f0f6795f1a61e829fe109885c21e7f04193c0ae Mon Sep 17 00:00:00 2001 From: Michele Rastelli Date: Mon, 25 Jan 2021 19:59:00 +0100 Subject: [PATCH 1/2] closing connection on failed authentication --- .../velocystream/VstCommunication.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/arangodb/internal/velocystream/VstCommunication.java b/src/main/java/com/arangodb/internal/velocystream/VstCommunication.java index 01625e7bd..0c1bcfd9c 100644 --- a/src/main/java/com/arangodb/internal/velocystream/VstCommunication.java +++ b/src/main/java/com/arangodb/internal/velocystream/VstCommunication.java @@ -22,7 +22,12 @@ import com.arangodb.ArangoDBException; import com.arangodb.internal.ArangoDefaults; -import com.arangodb.internal.net.*; +import com.arangodb.internal.net.AccessType; +import com.arangodb.internal.net.ArangoDBRedirectException; +import com.arangodb.internal.net.Host; +import com.arangodb.internal.net.HostDescription; +import com.arangodb.internal.net.HostHandle; +import com.arangodb.internal.net.HostHandler; import com.arangodb.internal.util.HostUtils; import com.arangodb.internal.util.RequestUtils; import com.arangodb.internal.util.ResponseUtils; @@ -87,7 +92,7 @@ protected synchronized C connect(final HostHandle hostHandle, final AccessType a connection.open(); hostHandler.success(); if (user != null) { - authenticate(connection); + tryAuthenticate(connection); } hostHandler.confirm(); return connection; @@ -111,6 +116,15 @@ protected synchronized C connect(final HostHandle hostHandle, final AccessType a } } + private void tryAuthenticate(final C connection) { + try { + authenticate(connection); + } catch (final ArangoDBException authException) { + connection.close(); + throw authException; + } + } + protected abstract void authenticate(final C connection); @Override From 586cd86b905951bcf589bf2de3b0224b666de1fd Mon Sep 17 00:00:00 2001 From: Michele Rastelli Date: Mon, 25 Jan 2021 20:26:50 +0100 Subject: [PATCH 2/2] changelog upd --- ChangeLog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog.md b/ChangeLog.md index 063b500e7..2a0819855 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a ## [Unreleased] +- fixed closing connection on failed authentication (#ES-772) + ## [6.8.1] - 2020-12-22 - fixed ignoring internal endpoints in acquireHostList (#DEVSUP-673)