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}));
     }
     

Reply via email to