This is an automated email from the ASF dual-hosted git repository.
terrymanu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 3ced033a9a7 Bump Jaybird to 5.0.13.java8 (#40080)
3ced033a9a7 is described below
commit 3ced033a9a7a21ea8b5ddafa0d8dacb95c96b097
Author: Maxim Igoshin <[email protected]>
AuthorDate: Sat Oct 10 18:55:04 2026 +0300
Bump Jaybird to 5.0.13.java8 (#40080)
Jaybird 5.0.13 (FirebirdSQL/jaybird#931) replaced UnixCrypt.crypt(key,
setting)
with crypt(key, setting, charsetName) and now hashes Legacy_Auth passwords
from UTF-8 bytes. Pass UTF-8 in FirebirdLegacyAuthenticator, the same bytes
fbclient and Jaybird clients use.
---
.../shardingsphere-jdbc/optional-plugins/firebird/_index.cn.md | 4 ++--
.../shardingsphere-jdbc/optional-plugins/firebird/_index.en.md | 4 ++--
pom.xml | 2 +-
.../authenticator/impl/FirebirdLegacyAuthenticator.java | 4 +++-
.../authenticator/impl/FirebirdLegacyAuthenticatorTest.java | 4 +++-
5 files changed, 11 insertions(+), 7 deletions(-)
diff --git
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.cn.md
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.cn.md
index fd870a7207e..d25be56a854 100644
---
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.cn.md
+++
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.cn.md
@@ -23,7 +23,7 @@ ShardingSphere 对 Firebird JDBC Driver 的支持位于可选模块中。
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
- <version>5.0.10.java8</version>
+ <version>5.0.13.java8</version>
</dependency>
</dependencies>
```
@@ -53,7 +53,7 @@ services:
通过第三方工具在 Firebird 内创建业务库。
包括 DBeaver Community 在内的第三方工具无法为 Firebird 创建 databases,
-下以 Maven 模块 `org.firebirdsql.jdbc:jaybird:5.0.10.java8` 的 Java API 为例,
+下以 Maven 模块 `org.firebirdsql.jdbc:jaybird:5.0.13.java8` 的 Java API 为例,
```java
import org.firebirdsql.management.FBManager;
diff --git
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.en.md
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.en.md
index 1aaa6b732ab..ff82a504777 100644
---
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.en.md
+++
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.en.md
@@ -23,7 +23,7 @@ the possible Maven dependencies are as follows,
<dependency>
<groupId>org.firebirdsql.jdbc</groupId>
<artifactId>jaybird</artifactId>
- <version>5.0.10.java8</version>
+ <version>5.0.13.java8</version>
</dependency>
</dependencies>
```
@@ -53,7 +53,7 @@ services:
Create some business databases in Firebird through third-party tools.
Third-party tools including DBeaver Community cannot create databases for
Firebird.
-Below is the Java API of the Maven module
`org.firebirdsql.jdbc:jaybird:5.0.10.java8` as an example.
+Below is the Java API of the Maven module
`org.firebirdsql.jdbc:jaybird:5.0.13.java8` as an example.
```java
import org.firebirdsql.management.FBManager;
diff --git a/pom.xml b/pom.xml
index 27fd8cbd7ca..bb9fd2466e8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -137,7 +137,7 @@
<hive.version>4.0.1</hive.version>
<hive-server2-jdbc-driver-thin.version>1.8.2</hive-server2-jdbc-driver-thin.version>
<presto.version>0.298.1</presto.version>
- <jaybird.version>5.0.10.java8</jaybird.version>
+ <jaybird.version>5.0.13.java8</jaybird.version>
<hikari-cp.version>4.0.3</hikari-cp.version>
diff --git
a/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/authentication/authenticator/impl/FirebirdLegacyAuthenticator.java
b/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/authentication/authenticator/impl/FirebirdLegacyAuthenticator.java
index 3c3fdf336f7..c91fc070f0d 100644
---
a/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/authentication/authenticator/impl/FirebirdLegacyAuthenticator.java
+++
b/proxy/frontend/dialect/firebird/src/main/java/org/apache/shardingsphere/proxy/frontend/firebird/authentication/authenticator/impl/FirebirdLegacyAuthenticator.java
@@ -22,6 +22,8 @@ import
org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
import
org.apache.shardingsphere.proxy.frontend.firebird.authentication.authenticator.FirebirdAuthenticator;
import org.firebirdsql.gds.ng.wire.auth.legacy.UnixCrypt;
+import java.nio.charset.StandardCharsets;
+
/**
* Legacy authenticator for Firebird.
*
@@ -35,7 +37,7 @@ public final class FirebirdLegacyAuthenticator implements
FirebirdAuthenticator
public boolean authenticate(final ShardingSphereUser user, final Object[]
authInfo) {
// TODO update when version 6 of jaybird comes out
String password = (String) authInfo[0];
- String expectedPassword = UnixCrypt.crypt(user.getPassword(),
SALT).substring(2, 13);
+ String expectedPassword = UnixCrypt.crypt(user.getPassword(), SALT,
StandardCharsets.UTF_8.name()).substring(2, 13);
return expectedPassword.equals(password);
}
diff --git
a/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/authentication/authenticator/impl/FirebirdLegacyAuthenticatorTest.java
b/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/authentication/authenticator/impl/FirebirdLegacyAuthenticatorTest.java
index a98c130760d..075860aa458 100644
---
a/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/authentication/authenticator/impl/FirebirdLegacyAuthenticatorTest.java
+++
b/proxy/frontend/dialect/firebird/src/test/java/org/apache/shardingsphere/proxy/frontend/firebird/authentication/authenticator/impl/FirebirdLegacyAuthenticatorTest.java
@@ -21,6 +21,8 @@ import
org.apache.shardingsphere.infra.metadata.user.ShardingSphereUser;
import org.firebirdsql.gds.ng.wire.auth.legacy.UnixCrypt;
import org.junit.jupiter.api.Test;
+import java.nio.charset.StandardCharsets;
+
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -38,7 +40,7 @@ class FirebirdLegacyAuthenticatorTest {
@Test
void assertAuthenticateSuccess() {
ShardingSphereUser user = new ShardingSphereUser("foo", "password",
"");
- String expectedPassword = UnixCrypt.crypt(user.getPassword(),
"9z").substring(2, 13);
+ String expectedPassword = UnixCrypt.crypt(user.getPassword(), "9z",
StandardCharsets.UTF_8.name()).substring(2, 13);
assertTrue(authenticator.authenticate(user, new
Object[]{expectedPassword}));
}