%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 122.154.253.140 / Your IP : 216.73.216.153 Web Server : Microsoft-IIS/7.5 System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.6.31 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files/MySQL/MySQL Connector.C 6.1/docs/ |
Upload File : |
MySQL Connector/C 6.1 - Release Notes / ChangeLog
Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
Full release notes:
http://dev.mysql.com/doc/relnotes/connector-c/en/
Changes in MySQL Connector/C 6.1.6
=====================================================================
Security Notes
* Connector/C 6.1.6 upgrades the linked OpenSSL library to
version 1.0.1k. Issues fixed in the new version are
described at
http://www.openssl.org/news/vulnerabilities.html.
Functionality Added or Changed
* yaSSL sources included in Connector/C source packages and
used in GPL binary distributions were upgraded to version
2.3.7. (Bug #20201864)
Bugs Fixed
* For source packages, it was not possible to build
Connector/C with the client protocol test trace plugin
enabled. (Bug #20316149)
* When there is no change in session state, the OK packet
sent from server to the client contained an unneeded byte
at the end of the packet. (Bug #19625718)
* The client protocol trace plugin did not account for the
removal of the EOF packet from the client/server protocol
in MySQL 5.7.5. (Bug #19512199)
* The mysql_session_track_get_first() and
mysql_session_track_get_next() C API functions could
cause a client crash if passed invalid arguments. (Bug
#18769620)
* mysql_config --libs_r produces output containing link
flags for libmysqlclient_r, even though that library was
removed in MySQL 5.5 and replaced with a symlink to the
underlying libmysqlclient library. The output now refers
directly to libmysqlclient. (The implication is that it
is no longer necessary to maintain the symlink for the
sake of being able to use mysql_config --libs_r.) (Bug
#73724, Bug #19506315)
* Invalid memory access could occur when using prepared
statements if a mysql client connection was lost after
statement preparation was complete and there was at least
one statement that was in initialized state but not
prepared yet. (Bug #70429, Bug #17512527)
* Client auto-reconnect did not work for clients linked
against libmysqlclient, even with MYSQL_OPT_RECONNECT
enabled.
Also, if a FEDERATED table was accessed after
wait_timeout expired, a Lost connection to MySQL server
error occurred without an attempt to re-establish the
connection. (Bug #70026, Bug #17309863, Bug #14874, Bug
#11745408)
* mysql_real_connect() could close a file descriptor twice
if the server was not running. (Bug #69423, Bug
#19226740)
Changes in MySQL Connector/C 6.1.5 (2014-06-17)
=====================================================================
Connector/C 6.1.5 upgrades the linked OpenSSL library from version
1.0.1g to version 1.0.1h. Versions of OpenSSL prior to 1.0.1g are
reported vulnerable to CVE-2014-0224.
Functionality Added or Changed
* The server can now report session-state changes to client
programs. Reportable session state consists of these values:
+ The default schema (database)
+ Session-specific values for system variables
+ User-defined variables
+ Temporary tables
+ Prepared statements
The MySQL client/server protocol now includes tracker
information so that session state changes can be detected. One
use for the tracker mechanism is that it provides a means for
MySQL Connectors, Fabric, and client applications to determine
whether any session context is available to ensure session
migration from one server to another. (To change connections
in a load-balanced environment, it is necessary to detect
whether there is session state to take into consideration when
deciding whether a switch can be made.)
The user interface to control the tracker and retrieve
state-change information from it has the following components,
which enable implementation of state-change tracking on the
client side:
+ Clients can request notification when there is a change
to any of the session state-related values just listed,
in the form of a flag that is set in the OK packet
received from the server after the change occurs. To
control notification, enable or disable the
session_track_state_change system variable. This variable
is disabled by default.
+ Clients can request notification of changed values for
certain specific types of session state information:
o The default schema name. To control notification,
enable or disable the session_track_schema system
variable. This variable is enabled by default.
o The session values of system variables. Notification
occurs for the system variables named by the
session_track_system_variables system variable. By
default, notification is enabled for time_zone,
autocommit, character_set_client,
character_set_results, and character_set_connection.
(The latter three variables are those affected by
SET NAMES.)
+ To enable applications to extract the state-change
information returned by the server, the MySQL C API
includes a pair of functions:
o mysql_session_track_get_first() fetches the first
state-change information received from the server.
o mysql_session_track_get_next() fetches any remaining
state-change information received from the server.
Following a successful call to
mysql_session_track_get_first(), call this function
repeatedly as long as it returns success.
o Because there are new API functions, the client
library ABI version is now 18.3. Shared library
names now include 18.3 where appropriate.
+ The mysqltest program has enable_session_track_info and
disable_session_track_info commands to enable and disable
tracking of session state-change information.
For more information, see Server System Variables
(http://dev.mysql.com/doc/refman/5.6/en/server-system-variable
s.html) and mysql_session_track_get_first()
(http://dev.mysql.com/doc/refman/5.7/en/mysql-session-track-ge
t-first.html). For information about the structure of the OK
packet used to convey state-change information, see OK_Packet
(http://dev.mysql.com/doc/internals/en/packet-OK_Packet.html).
* Because there are new API functions
(mysql_session_track_get_first(),
mysql_session_track_get_next()), the client library ABI
version is now 18.3. Shared library names now include 18.3
where appropriate.
Bugs Fixed
* Calling mysql_get_server_version() with an invalid connection
handler argument caused the client to exit. Now it returns 0
and reports a CR_COMMANDS_OUT_OF_SYNC error. (Bug #18053212)
* The C client library could leak memory when client plugins
were used. (Bug #17933308)
* On Windows, calling mysql_thread_init() call without
mysql_init() caused the client to exit. windows. Now it
returns a nonzero result because it is an error to call
mysql_thread_init() before the client library is initialized
with mysql_library_init(). (Bug #17514920)
* There was a difference in certificate handling by yaSSL and
OpenSSL (used for Community and Enterprise, respectively).
OpenSSL expected a blank certificate to be sent when not all
of the --ssl-ca, --ssl-cert, and --ssl-key options were
specified, and yaSSL did not do so. To resolve this, yaSSL has
been modified to send a blank certificate when an option is
missing. (Bug #68788, Bug #16715064)
Changes in MySQL Connector/C 6.1.4 (2014-04-16)
=====================================================================
Heartbleed Bug
* Security Fix: The Heartbleed Bug is a serious vulnerability in
the popular OpenSSL cryptographic software library, which is
included in Commercial builds of Connector/C 6.1. (It is not
included in the Community version of Connector/C 6.1; see the
Note later in this section.) This vulnerability allows theft
of information protected, under normal conditions, by SSL/TLS
encryption, which provides communication security and privacy
for Internet applications such as web browsing, email, instant
messaging, and some virtual private networks.
The Heartbleed Bug allows attackers to read the memory of the
systems protected by vulnerable versions of the OpenSSL
software. This compromises the secret keys used to identify
service providers and to encrypt traffic, user names and
passwords, and content. This allows attackers to eavesdrop on
communications, to steal data directly from services and
users, and to impersonate services and users. Additional
sources of information regarding this issue are provided at
the end of this section.
Connector/C 6.1.4 upgrades the OpenSSL library used in the
Commercial versions of the Connector/C 6.1 to version 1.0.1g,
which fixes this issue.
Users of previous Connector/C 6.1 Commercial releases are
urged to upgrade to Connector/C 6.1.4 as soon as possible.
Note
This issue does not affect Connector/C 6.1 Community releases,
which use yaSSL to provide encryption services, and do not
include the OpenSSL software. For this reason, the Connector/C
6.1.4 release is Commercial only, and contains only the fix
for the Heartbleed bug (and no other changes); users of the
Community edition of Connector/C 6.1.3 can continue to use
this version without being affected by this issue, and to
upgrade directly to Connector/C 6.1.5 when it is released.
Additional sources of information.
This issue has been identified as CVE-2014-0160
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160).
Oracle customers can learn more about how this issue may
impact Connector/C and other Oracle products they are using
by reading this My Oracle Support Note (Document ID 1645479.1)
(https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1645479.1)
(Bug #18533200, CVE-2014-0160)
Changes in MySQL Connector/C 6.1.3 (2013-12-27)
=====================================================================
Security Notes
* A new MYSQL_OPT_SSL_ENFORCE option is available for the
mysql_options() C API function to indicate whether to require
the connection to use SSL. If enabled, an encrypted connection
is attempted. If an encrypted connection cannot be
established, the connection attempt fails.
For more information, see mysql_options()
(http://dev.mysql.com/doc/refman/5.7/en/mysql-options.html).
Functionality Added or Changed
* Some dependencies between client-side plugin header files were
removed:
+ The MYSQL_PLUGIN_EXPORT macro required by plugin
declarations is now declared directly in
mysql/client_plugin.h instead of getting the definition
from mysql/plugin.h. That macro was the only thing
required by client-side plugins and declared in
server-side header mysql/plugin.h, so including
mysql/client_plugin.h in an application no longer
requires the application to also include mysql/plugin.h.
+ mysql/plugin_trace.h no longer uses C_MODE_START or
C_MODE_END. Consequently, including mysql/plugin_trace.h
in an application no longer requires the application to
also include my_global.h.
Applications might require mysql/plugin.h or my_global.h for
other reasons, of course. (Bug #17582168)
* A new mysql_get_option() C API function is available that
returns the current value of applicable mysql_options()
options. See mysql_get_option()
(http://dev.mysql.com/doc/refman/5.7/en/mysql-get-option.html)
.
* When a connection is returned to the thread pool plugin, the
connection thread context must be cleaned up. Previously, this
was done using COM_CHANGE_USER (which is like the
mysql_change_user() C API function). However, that operation
reauthenticates, which is unnecessary network roundtrip
overhead in this context.
Now it is possible for client connection state to be reset in
a more lightweight manner without causing reauthentication.
The API is exposed publicly through these changes:
+ A new COM_RESET_CONNECTION protocol command (defined in
mysql_com.h)
+ A new mysql_reset_connection() C API function
+ A new resetconnection command for the mysql client
Resetting a connection has effects similar to
mysql_change_user() or an auto-reconnect except that the
connection is not closed and reopened, and reauthentication is
not done. See mysql_change_user()
(http://dev.mysql.com/doc/refman/5.6/en/mysql-change-user.html
)) and see Controlling Automatic Reconnection Behavior
(http://dev.mysql.com/doc/refman/5.6/en/auto-reconnect.html)).
For more information, see mysql_reset_connection()
(http://dev.mysql.com/doc/refman/5.7/en/mysql-reset-connection
.html) and mysql --- The MySQL Command-Line Tool
(http://dev.mysql.com/doc/refman/5.6/en/mysql.html).
* Connector/C is now included in MySQL Installer (Windows).
* Because there are new API functions (mysql_get_option(),
mysql_reset_connection()), the library ABI version is now
18.2. Shared library names now include 18.2 where appropriate.
Bugs Fixed
* It was not possible to build client-side plugins using
Connector/C because client_plugin.h referenced a macro defined
in the plugin.h file, which is not included in Connector/C
distributions. (Bug #17582228)
References: See also Bug #17582168.
* After the fix for Bug #16409270, it was not possible to
#include <mysql.h> following #include <windows.h>. (Bug
#17514554)
* Upgrading Connector/C using the 64-bit version of the Windows
MSI package occurred in the default folder because registry
search logic was hardcoded to use the 32-bit registry. (Bug
#17515067)
* A client crash occurred if mysql_set_server_option() or
several other C API functions were called before
mysql_real_connect(). (Bug #17338958)
Changes in MySQL Connector/C 6.1.2 (2013-09-30)
=====================================================================
Functionality Added or Changed
* The implementation of condition variables specific to Windows
XP and Windows Server 2003 was removed from the source code
because MySQL is not supported on those platforms as of MySQL
5.6.
Note
This change has the following implication: Previously,
Connector/C 6.1, while not officially supported on Windows XP
or Windows Server 2003, could be used on those platforms. This
is no longer possible.
(Bug #17332056)
* MySQL now supports the use of client-side plugins that
implement a trace of communication between a client and the
server that takes place using the client/server protocol.
Protocol trace plugins use the client plugin API (see Writing
Plugins
(http://dev.mysql.com/doc/refman/5.6/en/writing-plugins.html))
.
In Connector/C source distributions, a test protocol trace
plugin is implemented in the test_trace_plugin.cc file in the
libmysql directory. This can be examined as a guide to writing
other protocol trace plugins.
* Static libraries built with VS2008, VS2010, VS2012 are now
distributed as part of Connector/C packages for Windows: ZIP
and MSI. New directories named vs9, vs10, and vs11 located
under the lib directory contain static libraries and
corresponding pdb files built with VS2008, VS2010, and VS2012,
respectively.
Bugs Fixed
* The CLIENT_CONNECT_WITH_DB flag was improperly handled in the
C client library. This could lead to a malformed packet sent
to the server. (Bug #17351732)
* The mysql_real_connect() C API function could leak memory if
it failed. (Bug #17337684)
* The mysql_options() C API function could leak memory if called
more than once with the MYSQL_SET_CLIENT_IP option. (Bug
#17297012)
* The Connector/C MSI package was missing the following files:
ChangeLog, README, LICENSE, COPYING, INFO_SRC, INFO_BIN. (Bug
#17261526)
* The Connector/C RPM package was missing the following files:
INFO_SRC, INFO_BIN, my_print_defaults, perror. (Bug #17261610)
* On Windows, a MySQL client program that simply used #include
<mysql.h> could not be compiled due to missing Windows
declarations in that file. The same program would compile on
other platforms. (Bug #16409270)
* The libmysql.dll library was missing several symbols: my_init,
mysql_client_find_plugin, mysql_client_register_plugin,
mysql_load_plugin, mysql_load_plugin_v, and
mysql_plugin_options. (Bug #69204, Bug #16797982)
Changes in MySQL Connector/C 6.1.1 (2013-08-05)
=====================================================================
Functionality Added or Changed
* The C API libmysqlclient shared-library .so files now
have version 18.1.0 (up from version 18.0.0 used in
6.1.0). 18.1.0 can be used as a replacement for 18.0.0.
(Bug #16809055)
Bugs Fixed
* The mysql_options4 symbol was missing from libmysql.dll. (Bug
#69204, Bug #16797982)
Changes in MySQL Connector/C 6.1.0 (2013-05-02, General Availability)
=====================================================================
Functionality Added or Changed
* MySQL Connector/C 6.1 provides these features not present in
6.0:
+ Support for the pluggable authentication framework that
enables implementation of authentication methods as
plugins. This framework can be used for MySQL native
authentication as well as external authentication
methods. See Pluggable Authentication
(http://dev.mysql.com/doc/refman/5.6/en/pluggable-authent
ication.html).
+ Client-side support for the SHA-256, PAM, and Windows
native authentication plugins. See The SHA-256
Authentication Plugin
(http://dev.mysql.com/doc/refman/5.6/en/sha256-authentica
tion-plugin.html), The PAM Authentication Plugin
(http://dev.mysql.com/doc/refman/5.6/en/pam-authenticatio
n-plugin.html), and The Windows Native Authentication
Plugin
(http://dev.mysql.com/doc/refman/5.6/en/windows-authentic
ation-plugin.html).
The older MySQL Connector/C 6.0 can connect only to
accounts that use native MySQL passwords. If a client
program attempts to connect to an account that requires a
different authentication method, an "Access denied for
user" error occurs.
+ Support for connecting to accounts that have expired
passwords. See Password Expiration and Sandbox Mode
(http://dev.mysql.com/doc/refman/5.6/en/password-expirati
on.html).
+ Support for prepared CALL statements. This enables client
programs to handle stored procedures that produce
multiple result sets and to obtain the final value of OUT
and INOUT procedure parameters. See C API Support for
Prepared CALL Statements
(http://dev.mysql.com/doc/refman/5.6/en/c-api-prepared-ca
ll-statements.html).
+ Support for connecting over IPv6. See IPv6 Support
(http://dev.mysql.com/doc/refman/5.6/en/ipv6-support.html
).
+ Support for binding client programs to a specific IP
address at connect time. See mysql_options()
(http://dev.mysql.com/doc/refman/5.6/en/mysql-options.htm
l).
+ Support for specifying connection attributes to pass to
the server at connect time. See mysql_options()
(http://dev.mysql.com/doc/refman/5.6/en/mysql-options.htm
l), and mysql_options4()
(http://dev.mysql.com/doc/refman/5.6/en/mysql-options4.ht
ml).