Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mysql-connector-java for 
openSUSE:Factory checked in at 2022-05-14 22:51:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mysql-connector-java (Old)
 and      /work/SRC/openSUSE:Factory/.mysql-connector-java.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mysql-connector-java"

Sat May 14 22:51:53 2022 rev:37 rq:976412 version:8.0.29

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/mysql-connector-java/mysql-connector-java.changes    
    2022-03-01 17:03:10.568327206 +0100
+++ 
/work/SRC/openSUSE:Factory/.mysql-connector-java.new.1538/mysql-connector-java.changes
      2022-05-14 22:51:54.570971952 +0200
@@ -1,0 +2,89 @@
+Thu Apr 28 09:47:16 UTC 2022 - David Anes <david.a...@suse.com>
+
+- Update to 8.0.29: 
+  Functionality added or changed:
+    * Historically, MySQL has used utf8 as an alias for utf8mb3. 
+      Since release 8.0.29, utf8mb3 has become a recognized (though 
+      deprecated) character set on its own for MySQL Server. 
+      Therefore, Connector/J has added utf8mb3 to its character set 
+      mapping, and users are encouraged to update to 
+      Connector/J 8.0.29 to avoid potential issues when working with 
+      MySQL Server 8.0.29 or later. (Bug #33850155)
+    * A new connection property socksProxyRemoteDns has been added, 
+      which, when set to true, makes the SocksProxySocketFactory 
+      execute its own connect() implementation that passes the 
+      unresolved InetSocketAddress of a MySQL Server host to the 
+      created proxy socket, instead of having the address resolved 
+      locally. (Bug #77924, Bug #25710160)
+    * The code for prepared statements has been refactored to make 
+      the code simpler and the logic for binding more consistent 
+      between ServerPreparedStatement and ClientPreparedStatement.
+    * Connector/J now supports Fast Identity Online (FIDO) 
+      Authentication. See Connecting Using Fast Identity Online 
+      (FIDO) Authentication for details. 
+  Bugs fixed:
+    * X DevAPI: If the connection property xdevapi.ssl-mode was set
+      to DISABLED (or xdevapi.ssl-mode was not set, but the value 
+      was picked up from the sslMode setting), specifying some of 
+      the security properties caused Connector/J to throw an error. 
+      With this fix, even when encryption is turned off and 
+      irrelevant security properties are set, Connector/J does not 
+      throw an error.
+    * DatabaseMetaData.getDefaultTransactionIsolation() returned a 
+      wrong value. It now returns the correct value of 
+      Connection.TRANSACTION_REPEATABLE_READ. (Bug #33723611)
+    * Statement executions failed for replication connections when 
+      useCursorFetch was true and defaultFetchSize was greater than 
+      0. (Bug #25701740)
+    * Prepared statements were parsed incorrectly sometimes when 
+      they contained comments marked by /* and */. (Bug #21978230)
+    * A connection did not maintain the correct autocommit state 
+      when it was used in a pool with useLocalSessionState=true. 
+      (Bug #106435, Bug #33850099)
+    * References: This issue is a regression of: Bug #33054827.
+    * A spelling error in the error message for the buffer length 
+      being less than the expected payload length has been corrected. 
+      Thanks to Jianjian Song for contributing the fix. 
+      (Bug #106397, Bug #33893591)
+    * When using client-side prepared statements, if the VALUES 
+      clause came after the ON DUPLICATE KEY UPDATE clause or it 
+      came at the end of the statement, a StringIndexOutOfBoundsException 
+      was thrown. This patch refactors the query parser to fix the 
+      problem behind the issue, and also to improve the parser's 
+      performance. (Bug #106240, Bug #33781440)
+    * An unnecessary boxing has been removed from findColumn() in 
+      the ResultSetImpl class. Thanks to Pei Pei Ning for 
+      contributing this improvement. (Bug #106171, Bug #33757217)
+    * When decoding decimals, the constructor used for creating the 
+      BigDecimal object has been changed from BigDecimal(String) to 
+      BigDecimal(char[]) in order to save memory. Thanks to Chen Yi 
+      for contributing to this improvement. 
+      (Bug #106065, Bug #33726184)
+    * When inserting BigDecimal values into a database using 
+      rewritable server-side prepared statements with cursor-based 
+      fetching, the values suffered precision loss. (Bug #105915, 
+      Bug #33678490)
+    * When the Connector/J logger level was at TRACE, a null bind 
+      value for a PreparedStatement resulted in a NullPointerException
+      when the logger tried to read the value. This patch added a 
+      null check to avoid the exception to be thrown under the 
+      situation. (Bug #104349, Bug #33563548)
+    * When the connection property rewriteBatchedStatements was set 
+      to true, inserting a BLOB using a prepared statement and 
+      executeBatch() resulted in a NullPointerException. 
+      (Bug #85317, Bug #25672958)
+    * ResultSetMetaData and DatabaseMetaData returned Types.DATE for 
+      a YEAR table column even when yearIsDateType=false. With this 
+      fix, Types.SMALLINT was returned correctly in the situation. 
+      (Bug #82084, Bug #23743938)
+    * A PreparedStatement could not be rewritten for batch insert if 
+      any table column involved contained "select" as a substring in 
+      the column name. (Bug #81468, Bug #23312764)
+    * When using server-side prepared statements and the connection 
+      property profileSQL was set to true, setting a parameter of 
+      type LONGTEXT using a StringReader() resulted in a j
+      ava.io.NotSerializableException. (Bug #62006, Bug #16714956)
+    * Data truncation occurred for INOUT type parameters of data 
+      type BIT(1) for stored procedures. (Bug #38954, Bug #11749415)
+
+-------------------------------------------------------------------

Old:
----
  mysql-connector-java-8.0.28.tar.gz

New:
----
  mysql-connector-java-8.0.29.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mysql-connector-java.spec ++++++
--- /var/tmp/diff_new_pack.FWdSq8/_old  2022-05-14 22:51:55.874973581 +0200
+++ /var/tmp/diff_new_pack.FWdSq8/_new  2022-05-14 22:51:55.878973587 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           mysql-connector-java
-Version:        8.0.28
+Version:        8.0.29
 Release:        0
 Summary:        Official JDBC Driver for MySQL
 License:        GPL-2.0-or-later
@@ -25,7 +25,9 @@
 Source0:        
https://github.com/mysql/mysql-connector-j/archive/refs/tags/%{version}.tar.gz#:/%{name}-%{version}.tar.gz
 Group:          Development/Languages/Java
 Patch0:         javac-check.patch
-# TODO: Oracle OCI is not packaged yet
+# NOTE: Oracle OCI is not packaged yet
+#   The patch doesn't remove the file AuthenticationOciClient.java
+#   therefore it's removed during prep phase
 Patch1:         %{name}-remove-oci-support.patch
 BuildRequires:  ant
 BuildRequires:  ant-contrib
@@ -64,6 +66,9 @@
 %patch0 -p1
 %patch1 -p1
 
+# remove OCI support
+rm -rf 
src/main/protocol-impl/java/com/mysql/cj/protocol/a/authentication/AuthenticationOciClient.java
+
 # extra libs
 mkdir -p lib
 mkdir -p src/lib

++++++ mysql-connector-java-8.0.28.tar.gz -> mysql-connector-java-8.0.29.tar.gz 
++++++
++++ 29403 lines of diff (skipped)

++++++ mysql-connector-java-remove-oci-support.patch ++++++
--- /var/tmp/diff_new_pack.FWdSq8/_old  2022-05-14 22:51:56.282974092 +0200
+++ /var/tmp/diff_new_pack.FWdSq8/_new  2022-05-14 22:51:56.286974096 +0200
@@ -1,208 +1,28 @@
-Index: 
mysql-connector-j-8.0.28/src/main/protocol-impl/java/com/mysql/cj/protocol/a/authentication/AuthenticationOciClient.java
+Index: 
mysql-connector-j-8.0.29/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java
 ===================================================================
---- 
mysql-connector-j-8.0.28.orig/src/main/protocol-impl/java/com/mysql/cj/protocol/a/authentication/AuthenticationOciClient.java
-+++ 
mysql-connector-j-8.0.28/src/main/protocol-impl/java/com/mysql/cj/protocol/a/authentication/AuthenticationOciClient.java
-@@ -1,175 +0,0 @@
--/*
-- * Copyright (c) 2021, Oracle and/or its affiliates.
-- *
-- * This program is free software; you can redistribute it and/or modify it 
under
-- * the terms of the GNU General Public License, version 2.0, as published by 
the
-- * Free Software Foundation.
-- *
-- * This program is also distributed with certain software (including but not
-- * limited to OpenSSL) that is licensed under separate terms, as designated 
in a
-- * particular file or component or in included license documentation. The
-- * authors of MySQL hereby grant you an additional permission to link the
-- * program and your derivative works with the separately licensed software 
that
-- * they have included with MySQL.
-- *
-- * Without limiting anything contained in the foregoing, this file, which is
-- * part of MySQL Connector/J, is also subject to the Universal FOSS Exception,
-- * version 1.0, a copy of which can be found at
-- * http://oss.oracle.com/licenses/universal-foss-exception.
-- *
-- * This program is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
-- * FOR A PARTICULAR PURPOSE. See the GNU General Public License, version 2.0,
-- * for more details.
-- *
-- * You should have received a copy of the GNU General Public License along 
with
-- * this program; if not, write to the Free Software Foundation, Inc.,
-- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
-- */
--
--package com.mysql.cj.protocol.a.authentication;
--
--import java.io.IOException;
--import java.nio.charset.Charset;
--import java.nio.file.Files;
--import java.nio.file.Paths;
--import java.security.interfaces.RSAPrivateKey;
--import java.util.Base64;
--import java.util.List;
--
--import com.mysql.cj.Messages;
--import com.mysql.cj.callback.MysqlCallbackHandler;
--import com.mysql.cj.callback.UsernameCallback;
--import com.mysql.cj.conf.PropertyKey;
--import com.mysql.cj.exceptions.ExceptionFactory;
--import com.mysql.cj.exceptions.RSAException;
--import com.mysql.cj.protocol.AuthenticationPlugin;
--import com.mysql.cj.protocol.ExportControlled;
--import com.mysql.cj.protocol.Protocol;
--import com.mysql.cj.protocol.a.NativeConstants.StringSelfDataType;
--import com.mysql.cj.protocol.a.NativePacketPayload;
--import com.mysql.cj.util.StringUtils;
--import com.oracle.bmc.ConfigFileReader;
--import com.oracle.bmc.ConfigFileReader.ConfigFile;
--
--/**
-- * MySQL 'authentication_iam_client' authentication plugin.
-- */
--public class AuthenticationOciClient implements 
AuthenticationPlugin<NativePacketPayload> {
--    public static String PLUGIN_NAME = "authentication_oci_client";
--
--    private String sourceOfAuthData = PLUGIN_NAME;
--
--    protected Protocol<NativePacketPayload> protocol = null;
--    private MysqlCallbackHandler usernameCallbackHandler = null;
--    private String fingerprint = null;
--    private RSAPrivateKey privateKey = null;
--
--    @Override
--    public void init(Protocol<NativePacketPayload> prot, MysqlCallbackHandler 
cbh) {
--        this.protocol = prot;
--        this.usernameCallbackHandler = cbh;
--    }
--
--    @Override
--    public void reset() {
--        this.fingerprint = null;
--        this.privateKey = null;
--    }
--
--    @Override
--    public void destroy() {
--        reset();
--    }
--
--    @Override
--    public String getProtocolPluginName() {
--        return PLUGIN_NAME;
--    }
--
--    @Override
--    public boolean requiresConfidentiality() {
--        return false;
--    }
--
--    @Override
--    public boolean isReusable() {
--        return false;
--    }
--
--    @Override
--    public void setAuthenticationParameters(String user, String password) {
--        if (user == null && this.usernameCallbackHandler != null) {
--            // Fall-back to system login user.
--            this.usernameCallbackHandler.handle(new 
UsernameCallback(System.getProperty("user.name")));
--        }
--    }
--
--    @Override
--    public void setSourceOfAuthData(String sourceOfAuthData) {
--        this.sourceOfAuthData = sourceOfAuthData;
--    }
--
--    @Override
--    public boolean nextAuthenticationStep(NativePacketPayload fromServer, 
List<NativePacketPayload> toServer) {
--        toServer.clear();
--
--        if (!this.sourceOfAuthData.equals(PLUGIN_NAME) || 
fromServer.getPayloadLength() == 0) {
--            // Cannot do anything with whatever payload comes from the 
server, so just skip this iteration and wait for a Protocol::AuthSwitchRequest 
or a
--            // Protocol::AuthNextFactor.
--            toServer.add(new NativePacketPayload(0));
--            return true;
--        }
--
--        initializePrivateKey();
--
--        byte[] nonce = fromServer.readBytes(StringSelfDataType.STRING_EOF);
--        byte[] signature = ExportControlled.sign(nonce, this.privateKey);
--        if (signature == null) {
--            signature = new byte[0];
--        }
--        String payload = String.format("{\"fingerprint\":\"%s\", 
\"signature\":\"%s\"}", this.fingerprint, 
Base64.getEncoder().encodeToString(signature));
--        toServer.add(new 
NativePacketPayload(payload.getBytes(Charset.defaultCharset())));
--        return true;
--    }
--
--    private void initializePrivateKey() {
--        if (this.privateKey != null) {
--            // Already initialized.
--            return;
--        }
--
--        ConfigFile configFile;
--        try {
--            String configFilePath = 
this.protocol.getPropertySet().getStringProperty(PropertyKey.ociConfigFile.getKeyName()).getStringValue();
--            if (StringUtils.isNullOrEmpty(configFilePath)) {
--                configFile = ConfigFileReader.parseDefault();
--            } else if (Files.exists(Paths.get(configFilePath))) {
--                configFile = ConfigFileReader.parse(configFilePath);
--            } else {
--                throw ExceptionFactory.createException("configuration file 
does not exist");
--            }
--        } catch (NoClassDefFoundError e) {
--            throw 
ExceptionFactory.createException(Messages.getString("AuthenticationOciClientPlugin.SdkNotFound"),
 e);
--        } catch (IOException e) {
--            throw 
ExceptionFactory.createException(Messages.getString("AuthenticationOciClientPlugin.OciConfigFileError"),
 e);
--        }
--        this.fingerprint = configFile.get("fingerprint");
--        if (StringUtils.isNullOrEmpty(this.fingerprint)) {
--            throw 
ExceptionFactory.createException(Messages.getString("AuthenticationOciClientPlugin.OciConfigFileMissingEntry"));
--        }
--        String keyFilePath = configFile.get("key_file");
--        if (StringUtils.isNullOrEmpty(keyFilePath)) {
--            throw 
ExceptionFactory.createException(Messages.getString("AuthenticationOciClientPlugin.OciConfigFileMissingEntry"));
--        }
--
--        try {
--            String key = new 
String(Files.readAllBytes(Paths.get(keyFilePath)), Charset.defaultCharset());
--            this.privateKey = ExportControlled.decodeRSAPrivateKey(key);
--        } catch (IOException e) {
--            throw 
ExceptionFactory.createException(Messages.getString("AuthenticationOciClientPlugin.PrivateKeyNotFound"),
 e);
--        } catch (RSAException | IllegalArgumentException e) {
--            throw 
ExceptionFactory.createException(Messages.getString("AuthenticationOciClientPlugin.PrivateKeyNotValid"),
 e);
--        }
--    }
--}
-Index: 
mysql-connector-j-8.0.28/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java
-===================================================================
---- 
mysql-connector-j-8.0.28.orig/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java
-+++ 
mysql-connector-j-8.0.28/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java
-@@ -57,7 +57,6 @@ import com.mysql.cj.protocol.a.NativeCon
- import com.mysql.cj.protocol.a.NativeConstants.StringSelfDataType;
+--- 
mysql-connector-j-8.0.29.orig/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java
++++ 
mysql-connector-j-8.0.29/src/main/protocol-impl/java/com/mysql/cj/protocol/a/NativeAuthenticationProvider.java
+@@ -58,7 +58,6 @@ import com.mysql.cj.protocol.a.NativeCon
+ import com.mysql.cj.protocol.a.authentication.AuthenticationFidoClient;
  import com.mysql.cj.protocol.a.authentication.AuthenticationKerberosClient;
  import 
com.mysql.cj.protocol.a.authentication.AuthenticationLdapSaslClientPlugin;
 -import com.mysql.cj.protocol.a.authentication.AuthenticationOciClient;
  import com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin;
  import com.mysql.cj.protocol.a.authentication.MysqlClearPasswordPlugin;
  import com.mysql.cj.protocol.a.authentication.MysqlNativePasswordPlugin;
-@@ -255,7 +254,6 @@ public class NativeAuthenticationProvide
+@@ -256,7 +255,6 @@ public class NativeAuthenticationProvide
          pluginsToInit.add(new MysqlOldPasswordPlugin());
          pluginsToInit.add(new AuthenticationLdapSaslClientPlugin());
          pluginsToInit.add(new AuthenticationKerberosClient());
 -        pluginsToInit.add(new AuthenticationOciClient());
+         pluginsToInit.add(new AuthenticationFidoClient());
  
          // plugins from authenticationPluginClasses connection parameter
-         String authenticationPluginClasses = 
this.propertySet.getStringProperty(PropertyKey.authenticationPlugins).getValue();
-Index: 
mysql-connector-j-8.0.28/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties
+Index: 
mysql-connector-j-8.0.29/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties
 ===================================================================
---- 
mysql-connector-j-8.0.28.orig/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties
-+++ 
mysql-connector-j-8.0.28/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties
-@@ -44,12 +44,6 @@ AuthenticationLdapSaslClientPlugin.Missi
+--- 
mysql-connector-j-8.0.29.orig/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties
++++ 
mysql-connector-j-8.0.29/src/main/resources/com/mysql/cj/LocalizedErrorMessages.properties
+@@ -50,12 +50,6 @@ AuthenticationLdapSaslClientPlugin.Missi
  AuthenticationLdapSaslClientPlugin.FailCreateSaslClient=Failed creating a 
SASL client for the authentication mechanism ''{0}''.
  AuthenticationLdapSaslClientPlugin.ErrProcessingAuthIter=Error while 
processing an authentication iteration for the authentication mechanism ''{0}''.
  

Reply via email to