8000 SASL-final-server-message -> AuthenticationOk -> ReadyforQuery chain … · LarsG/postgres-async-driver@8b4f351 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8b4f351

Browse files
Marat GainullinMarat Gainullin
authored andcommitted
SASL-final-server-message -> AuthenticationOk -> ReadyforQuery chain has been fixed
1 parent ca18112 commit 8b4f351

File tree

2 files changed

+5
-15
lines changed

2 files changed

+5
-15
lines changed

src/main/java/com/github/pgasync/PgProtocolStream.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -90,20 +90,6 @@ public CompletableFuture<Message> authenticate(String userName, String password,
9090
throw new IllegalStateException("Bad SASL authentication sequence detected on 'server-first-message' step");
9191
}
9292
})
93-
.thenCompose(Function.identity())
94-
.thenApply(message -> {
95-
if (message instanceof Authentication) {
96-
byte[] serverAdditionalData = ((Authentication) message).getSaslAdditionalData();
97-
if (serverAdditionalData != null) {
98-
return offerRoundTrip(() -> {
99-
});
100-
} else {
101-
throw new IllegalStateException("Bad SASL authentication sequence message detected on 'server-final-message' step");
102-
}
103-
} else {
104-
throw new IllegalStateException("Bad SASL authentication sequence detected on 'server-final-message' step");
105-
}
106-
})
10793
.thenCompose(Function.identity());
10894
} else {
10995
return send(new PasswordMessage(userName, password, authRequired.getMd5Salt(), encoding));
@@ -213,7 +199,7 @@ protected void gotMessage(Message message) {
213199
}
214200
} else if (message instanceof Authentication) {
215201
Authentication authentication = (Authentication) message;
216-
if (authentication.isAuthenticationOk()) {
202+
if (authentication.isAuthenticationOk() || authentication.isSaslServerFinalResponse()) {
217203
readyForQueryPendingMessage = message;
218204
} else {
219205
consumeOnResponse().completeAsync(() -> message, futuresExecutor);

src/main/java/com/github/pgasync/message/backend/Authentication.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,10 @@ public boolean isAuthenticationOk() {
113113
return ok;
114114
}
115115

116+
public boolean isSaslServerFinalResponse() {
117+
return saslAdditionalData != null;
118+
}
119+
116120
public boolean isSaslScramSha256() {
117121
return saslScramSha256;
118122
}

0 commit comments

Comments
 (0)
0