head 1.5; access; symbols pkgsrc-2024Q2:1.4.0.38 pkgsrc-2024Q2-base:1.4 pkgsrc-2024Q1:1.4.0.36 pkgsrc-2024Q1-base:1.4 pkgsrc-2023Q4:1.4.0.34 pkgsrc-2023Q4-base:1.4 pkgsrc-2023Q3:1.4.0.32 pkgsrc-2023Q3-base:1.4 pkgsrc-2023Q2:1.4.0.30 pkgsrc-2023Q2-base:1.4 pkgsrc-2023Q1:1.4.0.28 pkgsrc-2023Q1-base:1.4 pkgsrc-2022Q4:1.4.0.26 pkgsrc-2022Q4-base:1.4 pkgsrc-2022Q3:1.4.0.24 pkgsrc-2022Q3-base:1.4 pkgsrc-2022Q2:1.4.0.22 pkgsrc-2022Q2-base:1.4 pkgsrc-2022Q1:1.4.0.20 pkgsrc-2022Q1-base:1.4 pkgsrc-2021Q4:1.4.0.18 pkgsrc-2021Q4-base:1.4 pkgsrc-2021Q3:1.4.0.16 pkgsrc-2021Q3-base:1.4 pkgsrc-2021Q2:1.4.0.14 pkgsrc-2021Q2-base:1.4 pkgsrc-2021Q1:1.4.0.12 pkgsrc-2021Q1-base:1.4 pkgsrc-2020Q4:1.4.0.10 pkgsrc-2020Q4-base:1.4 pkgsrc-2020Q3:1.4.0.8 pkgsrc-2020Q3-base:1.4 pkgsrc-2020Q2:1.4.0.6 pkgsrc-2020Q2-base:1.4 pkgsrc-2020Q1:1.4.0.2 pkgsrc-2020Q1-base:1.4 pkgsrc-2019Q4:1.4.0.4 pkgsrc-2019Q4-base:1.4 pkgsrc-2019Q3:1.3.0.14 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.12 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.10 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.8 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.6 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.4 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.2 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.2.0.6 pkgsrc-2017Q4-base:1.2 pkgsrc-2017Q3:1.2.0.4 pkgsrc-2017Q3-base:1.2 pkgsrc-2017Q2:1.1.0.8 pkgsrc-2017Q2-base:1.1 pkgsrc-2017Q1:1.1.0.6 pkgsrc-2017Q1-base:1.1 pkgsrc-2016Q4:1.1.0.4 pkgsrc-2016Q4-base:1.1 pkgsrc-2016Q3:1.1.0.2 pkgsrc-2016Q3-base:1.1; locks; strict; comment @# @; 1.5 date 2024.08.05.06.30.31; author wiz; state dead; branches; next 1.4; commitid bBHFyVW9uHUXcBkF; 1.4 date 2019.10.14.20.19.29; author adam; state Exp; branches; next 1.3; commitid mlwwAvuckvsahSGB; 1.3 date 2018.01.16.16.29.42; author adam; state Exp; branches; next 1.2; commitid ltBwAcA6kHTvr7nA; 1.2 date 2017.07.20.16.41.10; author adam; state Exp; branches; next 1.1; commitid vLb7htFHaaPJiZZz; 1.1 date 2016.09.16.06.49.11; author adam; state Exp; branches 1.1.8.1; next ; commitid bzWTDZHvVHlQStmz; 1.1.8.1 date 2017.07.30.04.57.58; author spz; state Exp; branches; next ; commitid 1aGeNTydQA0w5d1A; desc @@ 1.5 log @mysql* 5.6, 5.7: remove As proposed on pkgsrc-users on July 26. These versions are unsupported by upstream since 2018 and 2020 respectively. @ text @$NetBSD: patch-libmysql_CMakeLists.txt,v 1.4 2019/10/14 20:19:29 adam Exp $ Do not install libmysqlclient with the server. Generate versioned lib symlinks on FreeBSD to supress PLIST divergence. authentication_ldap and libmysql_api_test require libmysqld. --- libmysql/CMakeLists.txt.orig 2019-09-27 07:00:15.000000000 +0000 +++ libmysql/CMakeLists.txt @@@@ -261,12 +261,13 @@@@ IF(WIN32) LIST(APPEND LIBS_TO_MERGE auth_win_client) ENDIF() -# LDAP authentication SASL client plugin -MESSAGE(STATUS "Creating LDAP authentication SASL client library.") -ADD_SUBDIRECTORY(authentication_ldap) # Merge several convenience libraries into one big mysqlclient +IF(WITHOUT_SERVER) MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE} COMPONENT Development) +ELSE() +MERGE_CONVENIENCE_LIBRARIES(mysqlclient SKIP_INSTALL ${LIBS_TO_MERGE} COMPONENT Development) +ENDIF() TARGET_LINK_LIBRARIES(mysqlclient ${LIBS_TO_LINK}) # Visual Studio users need debug static library for debug projects @@@@ -310,13 +311,19 @@@@ ENDIF() IF(NOT DISABLE_SHARED) # Merge several convenience libraries into one big mysqlclient # and link them together into shared library. + IF(WITHOUT_SERVER) MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE} EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_FUNCTIONS_UNDOCUMENTED} COMPONENT SharedLibraries) + ELSE() + MERGE_LIBRARIES_SHARED(libmysql SKIP_INSTALL ${LIBS_TO_MERGE} + EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_FUNCTIONS_UNDOCUMENTED} + COMPONENT SharedLibraries) + ENDIF() TARGET_LINK_LIBRARIES(libmysql ${LIBS_TO_LINK}) IF(UNIX) # libtool compatability - IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) + IF(CMAKE_SYSTEM_NAME MATCHES APPLE) SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}") ELSE() SET(OS_SHARED_LIB_VERSION @@@@ -384,6 +391,7 @@@@ CONFIGURE_FILE(api_test.c.in ${CMAKE_CUR # from @@CLIENT_API_FUNCTIONS@@ are declared by . It will fail # to run if not all of these symbols are exported by the library. # +IF(NOT WITHOUT_SERVER) ADD_EXECUTABLE(libmysql_api_test ${CMAKE_CURRENT_BINARY_DIR}/api_test.c) SET_TARGET_PROPERTIES(libmysql_api_test PROPERTIES LINKER_LANGUAGE CXX) IF(LIBRT) @@@@ -395,6 +403,7 @@@@ IF(DISABLE_SHARED) ELSE() TARGET_LINK_LIBRARIES(libmysql_api_test libmysql) ENDIF() +ENDIF() # Verify that libmysql_api_test runs OK ADD_CUSTOM_COMMAND(TARGET libmysql_api_test POST_BUILD @ 1.4 log @mysql57: updated to 5.7.28 Changes in MySQL 5.7.28 Configuration Notes It is now possible to compile MySQL 5.7 using OpenSSL 1.1.1, enabling compilation support for MySQL 5.7 against OpenSSL even when OpenSSL 1.0.2 reaches End of Life status at the end of 2019. All MySQL 5.7 builds now use OpenSSL. MySQL no longer supports using yaSSL as the SSL library, and source distributions no longer include yaSSL. The WITH_SSL CMake option no longer permits bundled (use yaSSL) as a valid value, and the default option value has changed from bundled to system (use the version of OpenSSL installed on the host system). sys Schema Notes The sys.schema_unused_indexes view now filters out unique indexes. The sys.ps_is_consumer_enabled() function now produces an error rather than returning NULL if the argument is an unknown non-NULL consumer name. Previously, sys schema sources were maintained in a separate Git repository. sys schema sources now are included with and maintained within MySQL source distributions (under scripts/sys_schema). The sys.version view is deprecated and will be removed in a future MySQL version. Affected applications should be adjusted to use an alternative instead. For example, use the VERSION() function to retrieve the MySQL server version. Bugs Fixed InnoDB: An ALTER TABLE ... ENCRYPTION = 'Y' operation on a MyISAM table failed to raise an error indicating that the storage engine does not support encryption. The INPLACE algorithm did not check encryption support before updating metadata in the .frm file. To address this issue, an encryption support flag was added. The ALTER TABLE ... ENCRYPTION = 'Y' operation now checks the flag and reports an error if the storage engine does not support encryption. InnoDB: Delete marked rows were able to acquire an external read lock before a partial rollback was completed. The external read lock prevented conversion of an implicit lock to an explicit lock during the partial rollback, causing an assertion failure. InnoDB: A long running ALTER TABLE ... ADD INDEX operation with concurrent inserts caused semaphore waits. Replication: A deadlock involving three threads could occur if a START SLAVE statement was issued to start the SQL thread on a slave while the SQL thread was still in the process of being stopped, and a request for the slave status was made at the same time. The issue has now been fixed by releasing a lock earlier while the SQL thread is being stopped. Replication: A locking issue in the WAIT_FOR_EXECUTED_GTID_SET() function could cause the server to hang in certain circumstances. The issue has now been corrected. Replication: On a multi-threaded slave with GTIDs in use and MASTER_AUTO_POSITION set to ON, following an unexpected halt the slave would attempt relay log recovery, which failed if relay logs had been lost, preventing replication from starting. However, this step was unnecessary as GTID auto-positioning can be used to restore any missing transactions. In a recovery situation, the slave now checks first whether MASTER_AUTO_POSITION is set to ON, and if it is, skips relay log recovery. When generating C source from SQL scripts, Some utf8-encoded characters were split across lines. Thanks to PrzemysÅ‚aw SkibiÅ„ski for the patch. For Solaris, mysqld.cc contained a prototype for memcntl() that is no longer needed. The prototype has been removed. For Solaris, -DWITH_SSL=system did not work when compiling with GCC. MySQL builds configured with -DWITHOUT_SERVER=1 failed. For the keyring_aws plugin, some valid region values for the keyring_aws_region system variable were rejected. For debug builds, an assertion could be raised during UNION queries when computing the combined data type of a GEOMETRY column and SELECT * FROM (SELECT NULL). For authentication using an LDAP authentication plugin, if the user DN portion was empty and group mapping was configured, authentication assigned an incorrect user DN and skipped the user search. mysqlpump produced an error when run against a server older than MySQL 5.7. A possible integer overflow due to unsigned integer type casting could lead to later buffer overflow due to arbitrary size memory allocation. Attempted use of a freed object during MeCab plugin initialization caused a segmentation fault. For MySQL installed using RPM packages, an initialization script that tested server connectivity misbehaved if the client account authenticated using an LDAP authentication plugin. Improper locking during storage engine initialization could cause a server exit. On a GTID-enabled server, concurrent execution of DROP USER and a prepared statement that accessed a view could deadlock. A query with a WHERE clause whose predicate contained a numeric value in scientific notation was not handled correctly. VS2019 produced compilation errors with debug compilation selected due to use of the /ZI flag. Now /Z7 is used instead. The client library could dereference a null pointer while fetching result set metadata from the server. In READ UNCOMMITTED isolation level, a segmentation fault occurred under heavy load from memcached clients. An externally stored BLOB column that was being updated by one transaction was read by another transaction as having a NULL value and a non-zero data length. Arguments for the TIMESTAMPADD() function could be reversed for prepared statements. With the thread_pool plugin enabled, the sys.processlist and sys.session views displayed a thread name rather than the actual user name. The delete_latency column in the sys.schema_index_statistics view incorrectly referred to the SUM_TIMER_INSERT column of the Performance Schema table_io_waits_summary_by_index_usage table rather than the SUM_TIMER_DELETE column. In output from the sys.diagnostics() procedure, the latency column for the user_summary_by_file_io_type view was incorrectly displayed in raw picoseconds rather than as a formatted value. MySQL Enterprise Encryption functions could apply Diffie-Hellman (DH) methods to non-DH keys, resulting in unpredictable results or server exit. Password masking was incomplete for SHOW PROCESSLIST and some INFORMATION_SCHEMA and Performance Schema tables. The -DWITH_EXAMPLE_STORAGE_ENGINE=1 CMake option was ignored but should not have been. If -DWITH_EXAMPLE_STORAGE_ENGINE=0 is given, the EXAMPLE storage engine is built as a plugin. @ text @d1 1 a1 1 $NetBSD: patch-libmysql_CMakeLists.txt,v 1.3 2018/01/16 16:29:42 adam Exp $ @ 1.3 log @mysql57: updated to 5.7.21 MySQL 5.7.21 Audit Log Notes * MySQL Enterprise Audit now supports compression and encryption of audit log files. Encryption is based on a user-defined password. To use this feature, the MySQL keyring must be enabled because audit logging uses it for password storage. MySQL Enterprise Audit also now supports logging in JSON format, in addition to the existing XML formats. For JSON format, functions are available that provide runtime log reading capabilities. For additional information, see MySQL Enterprise Audit. Configuration Notes * For RHEL, SLES, and Fedora RPMs, the default plugin directory for debug builds has been changed from /usr/lib64/mysql/plugin to /usr/lib64/mysql/plugin/debug. * The installation scripts for MySQL Enterprise Audit and MySQL Enterprise Firewall now create their associated tables in the mysql system database as InnoDB rather than MyISAM tables. * The hardcoded memory page size of 8KB for the memory-mapped transaction coordinator was too small for platforms such as ARM64 and PowerPC where the page size is much larger. The server now invokes a system call to get the page size of the current platform rather than using a hardcoded value. A consequence for the --log-tc-size option is that the minimum and default values are now 6 times the page size. Also, the value must be a multiple of the page size. Thanks to Alexey Kopytov for the patch. Performance Schema Notes * The Performance Schema setup_timers table is now deprecated, to be removed in MySQL 8.0, as is the TICK row in the performance_timers table. Pluggable Authentication * For the LDAP authentication plugins, handling of the group search attribute indicated by the authentication_ldap_sasl_group_search_attr and authentication_ldap_simple_group_search_attr system variables is more flexible. If the group search attribute is isMemberOf, LDAP authentication directly retrieves the user attribute isMemberOf value and assign it as group information. If the group search attribute is not isMemberOf, LDAP authentication searches for all groups where the user is a member. (The latter is the default behavior.) This behavior is based on how LDAP group information can be stored two ways: 1) A group entry can have an attribute named memberUid or member with a value that is a user name; 2) A user entry can have an attribute named isMemberOf with values that are group names. * The LDAP authentication plugins now permit the authentication string that provides user DN information to begin with a + character. In the absence of this character, the authentication string value is treated as is without modification, as it has been previously. If the authentication string begins with +, the plugin constructs the full user DN value from the account user name as the cn attribute value, together with the authentication string (with the + removed). The authentication string is stored as given in the mysql.user system table, with the full user DN constructed on the fly before authentication. * For the LDAP authentication plugins, the group search attribute was fixed and not configurable. Two new system variables now enable using custom group filters: authentication_ldap_sasl_group_search_filter and authentication_ldap_simple_group_search_filter. Security Notes * Incompatible Change: Passwords are now restricted to a maximum of 256 characters for the sha256_password authentication plugin, and for the PASSWORD() function when old_passwords=2. Also, the number of password hashing rounds is capped to limit CPU time used. * The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2n. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html. * This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead. * MySQL now supports key migration between underlying keyring keystores. This enables DBAs to switch a MySQL installation from one keyring plugin to another. See Migrating Keys Between Keyring Keystores. * MySQL Enterprise Edition now includes a keyring plugin, keyring_encrypted_file, that is similar to the keyring_file plugin in its use of a local data file for key storage, but that also encrypts the file based on a user-defined password. See Using the keyring_encrypted_file Keyring Plugin. @ text @d1 1 a1 1 $NetBSD: patch-libmysql_CMakeLists.txt,v 1.2 2017/07/20 16:41:10 adam Exp $ d7 1 a7 1 --- libmysql/CMakeLists.txt.orig 2017-12-28 03:46:26.000000000 +0000 d9 2 a10 2 @@@@ -230,12 +230,13 @@@@ IF(WIN32) LIST(APPEND LIBS auth_win_client) d19 1 a19 1 MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS} COMPONENT Development) d21 1 a21 1 +MERGE_CONVENIENCE_LIBRARIES(mysqlclient SKIP_INSTALL ${LIBS} COMPONENT Development) d23 1 d26 1 a26 2 IF(MSVC) @@@@ -269,12 +270,18 @@@@ ENDIF() d31 1 a31 1 MERGE_LIBRARIES_SHARED(libmysql ${LIBS} d35 1 a35 1 + MERGE_LIBRARIES_SHARED(libmysql SKIP_INSTALL ${LIBS} d39 1 d47 1 a47 1 @@@@ -342,6 +349,7 @@@@ CONFIGURE_FILE(api_test.c.in ${CMAKE_CUR d55 1 a55 1 @@@@ -353,6 +361,7 @@@@ IF(DISABLE_SHARED) @ 1.2 log @Security Notes * Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html. This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead. Platform-Specific Notes * Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them. Functionality Added or Changed * For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing. * The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Daniël van Eeden for the patch. * mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc. Bugs Fixed * InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table. * InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied. * Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect. * Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread. * Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly. * Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event. * Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug. * Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet. * With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions. * mysqldump could write database names in USE statements incorrectly. * If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead. * Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table. * Man pages for a few utilities were missing from Debian/Ubuntu packages. * The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch. * Debian client packages were missing information about conflicts with native packages. * The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11. * The server exited abnormally attempting to access invalid memory. * A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses. * MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__. * mysqld_failed to start the server if the --datadir option was specified with a relative path name. * With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions. *Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit. * On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes. * An assertion was raised during a fetch operation by the memcached plugin. * Queries that contained UNION in a subquery and GROUP BY could return incorrect results. * LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory. @ text @d1 1 a1 1 $NetBSD: patch-libmysql_CMakeLists.txt,v 1.1 2016/09/16 06:49:11 adam Exp $ d7 1 a7 1 --- libmysql/CMakeLists.txt.orig 2017-06-22 14:13:19.000000000 +0000 d9 1 a9 1 @@@@ -230,12 +230,18 @@@@ IF(WIN32) d13 2 a14 3 +IF(NOT WITHOUT_SERVER) # LDAP authentication SASL client plugin MESSAGE(STATUS "Creating LDAP authentication SASL client library.") a15 2 +#ADD_SUBDIRECTORY(authentication_ldap) +ENDIF() d19 1 a19 1 MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development) d21 1 a21 1 +MERGE_LIBRARIES(mysqlclient STATIC NOINSTALL ${LIBS} COMPONENT Development) d26 1 a26 1 @@@@ -275,12 +281,18 @@@@ ENDIF() d31 1 a31 1 MERGE_LIBRARIES(libmysql SHARED ${LIBS} d35 1 a35 1 + MERGE_LIBRARIES(libmysql SHARED NOINSTALL ${LIBS} d46 1 a46 1 @@@@ -348,6 +360,7 @@@@ CONFIGURE_FILE(api_test.c.in ${CMAKE_CUR d54 1 a54 1 @@@@ -359,4 +372,5 @@@@ IF(DISABLE_SHARED) d60 2 @ 1.1 log @MySQL is a SQL (Structured Query Language) database server. SQL is the most popular database language in the world. MySQL is a client-server implementation that consists of a server daemon `mysqld' and many different client programs/libraries. The main goals of MySQL are speed and robustness. The base upon which MySQL is built is a set of routines that have been used in a highly demanding production environment for many years. While MySQL is still in development it already offers a rich and highly useful function set. @ text @d1 1 a1 1 $NetBSD$ d5 1 d7 1 a7 1 --- libmysql/CMakeLists.txt.orig 2016-06-30 06:22:11.000000000 +0000 d9 2 a10 1 @@@@ -231,7 +231,11 @@@@ IF(WIN32) d13 7 d29 1 a29 1 @@@@ -271,12 +275,18 @@@@ ENDIF() d49 14 @ 1.1.8.1 log @Pullup ticket #5526 - requested by taca databases/mysql57-client: security update databases/mysql57-server: security update Revisions pulled up: - databases/mysql57-client/Makefile 1.7 - databases/mysql57-client/Makefile.common 1.6 - databases/mysql57-client/PLIST 1.5 - databases/mysql57-client/distinfo 1.12 - databases/mysql57-client/patches/patch-libmysql_CMakeLists.txt 1.2 - databases/mysql57-client/patches/patch-mysys_my__symlink.c 1.1 - databases/mysql57-server/Makefile 1.8 - databases/mysql57-server/PLIST 1.5 ------------------------------------------------------------------- Module Name: pkgsrc Committed By: adam Date: Thu Jul 20 16:41:10 UTC 2017 Modified Files: pkgsrc/databases/mysql57-client: Makefile Makefile.common PLIST distinfo pkgsrc/databases/mysql57-client/patches: patch-libmysql_CMakeLists.txt pkgsrc/databases/mysql57-server: Makefile PLIST Added Files: pkgsrc/databases/mysql57-client/patches: patch-mysys_my__symlink.c Log Message: Security Notes * Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html. This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead. Platform-Specific Notes * Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them. Functionality Added or Changed * For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing. * The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Daniël van Eeden for the patch. * mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc. Bugs Fixed * InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table. * InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied. * Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect. * Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread. * Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly. * Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event. * Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug. * Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet. * With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions. * mysqldump could write database names in USE statements incorrectly. * If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead. * Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table. * Man pages for a few utilities were missing from Debian/Ubuntu packages. * The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch. * Debian client packages were missing information about conflicts with native packages. * The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11. * The server exited abnormally attempting to access invalid memory. * A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses. * MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__. * mysqld_failed to start the server if the --datadir option was specified with a relative path name. * With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions. *Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit. * On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes. * An assertion was raised during a fetch operation by the memcached plugin. * Queries that contained UNION in a subquery and GROUP BY could return incorrect results. * LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 pkgsrc/databases/mysql57-client/Makefile cvs rdiff -u -r1.5 -r1.6 pkgsrc/databases/mysql57-client/Makefile.common cvs rdiff -u -r1.4 -r1.5 pkgsrc/databases/mysql57-client/PLIST cvs rdiff -u -r1.11 -r1.12 pkgsrc/databases/mysql57-client/distinfo cvs rdiff -u -r1.1 -r1.2 \ pkgsrc/databases/mysql57-client/patches/patch-libmysql_CMakeLists.txt cvs rdiff -u -r0 -r1.1 \ pkgsrc/databases/mysql57-client/patches/patch-mysys_my__symlink.c cvs rdiff -u -r1.7 -r1.8 pkgsrc/databases/mysql57-server/Makefile cvs rdiff -u -r1.4 -r1.5 pkgsrc/databases/mysql57-server/PLIST @ text @a4 1 authentication_ldap and libmysql_api_test require libmysqld. d6 1 a6 1 --- libmysql/CMakeLists.txt.orig 2017-06-22 14:13:19.000000000 +0000 d8 1 a8 2 @@@@ -230,12 +230,18 @@@@ IF(WIN32) LIST(APPEND LIBS auth_win_client) a10 7 +IF(NOT WITHOUT_SERVER) # LDAP authentication SASL client plugin MESSAGE(STATUS "Creating LDAP authentication SASL client library.") -ADD_SUBDIRECTORY(authentication_ldap) +#ADD_SUBDIRECTORY(authentication_ldap) +ENDIF() d20 1 a20 1 @@@@ -275,12 +281,18 @@@@ ENDIF() a39 14 @@@@ -348,6 +360,7 @@@@ CONFIGURE_FILE(api_test.c.in ${CMAKE_CUR # from @@CLIENT_API_FUNCTIONS@@ are declared by . It will fail # to run if not all of these symbols are exported by the library. # +IF(NOT WITHOUT_SERVER) ADD_EXECUTABLE(libmysql_api_test ${CMAKE_CURRENT_BINARY_DIR}/api_test.c) SET_TARGET_PROPERTIES(libmysql_api_test PROPERTIES LINKER_LANGUAGE CXX) IF(LIBRT) @@@@ -359,4 +372,5 @@@@ IF(DISABLE_SHARED) ELSE() TARGET_LINK_LIBRARIES(libmysql_api_test libmysql) ENDIF() +ENDIF() @