pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases mysql57: updated to 5.7.29



details:   https://anonhg.NetBSD.org/pkgsrc/rev/c01a27ed77c6
branches:  trunk
changeset: 413261:c01a27ed77c6
user:      adam <adam%pkgsrc.org@localhost>
date:      Tue Mar 17 18:33:08 2020 +0000

description:
mysql57: updated to 5.7.29

Changes in MySQL 5.7.29:

Audit Log Notes

ANALYZE TABLE statements now produce read audit events.

Packaging Notes

Binary packages that include curl rather than linking to the system curl library have been upgraded to use curl 7.66.0.

Bugs Fixed

InnoDB: os_file_get_parent_dir warnings were encountered when compiling MySQL with GCC 9.2.0.

InnoDB: An internal function (btr_push_update_extern_fields()) used to fetch newly added externally stored fields and update them during a pessimistic update or when going back to a previous version 
of a record was no longer required. Newly added externally stored fields are updated by a different function. Also, the method used to determine the number of externally stored fields was corrected.

InnoDB: A comparison function found two records to be equal when attempting to merge non-leaf pages of a spatial index. The function was unable to handle this unexpected condition, which resulted in 
a long semaphore wait and an eventual assertion failure.

InnoDB: A tablespace import operation that failed due to the source and destination tables being defined with different DATA DIRECTORY clauses reported an insufficiently descriptive schema mismatch 
error. Moreover, if a .cfg file was not present, the same operation would raise an assertion failure. A more informative error message is now reported in both cases before the import operation is 
terminated due to the data directory mismatch.

InnoDB: Criteria used by the btr_cur_will_modify_tree() function, which detects whether a modifying record needs a modifying tree structure, was insufficient.

InnoDB: An ALTER TABLE ... DISCARD TABLESPACE operation caused a hang condition.

InnoDB: A code regression was addressed by prohibiting unnecessary implicit to explicit secondary index lock conversions for session temporary tables.

InnoDB: A tablespace import operation raised an assertion when the cursor was positioned on a corrupted page while purging delete-marked records. Instead of asserting when encountering a corrupted 
page, the import operation is now terminated and an error is reported.

Replication: When a member is joining or rejoining a replication group, if Group Replication detects an error in the distributed recovery process (during which the joining member receives state 
transfer from an existing online member), it automatically switches over to a new donor, and retries the state transfer. The number of times the joining member retries before giving up is set by the 
group_replication_recovery_retry_count system variable. The Performance Schema table replication_applier_status_by_worker displays the error that caused the last retry. Previously, this error was 
only shown if the group member was configured with parallel replication applier threads (as set by the slave_parallel_workers system variable). If the group member was configured with a single 
applier thread, the error was cleared after each retry by an internal RESET SLAVE operation, so it could not be viewed. This was also the case for the output of the SHOW SLAVE STATUS command whether 
there were single or multiple applier threads. The RESET SLAVE operation is now no longer carried out after retrying distributed recovery, so the error that caused the last retry can always be viewed.

Replication: A memory leak could occur when a failed replication group member tried to rejoin a minority group and was disallowed from doing so.

Replication: If a replication slave was set up using a CHANGE MASTER TO statement that did not specify the master log file name and master log position, then shut down before START SLAVE was issued, 
then restarted with the option --relay-log-recovery set, replication did not start. This happened because the receiver thread had not been started before relay log recovery was attempted, so no log 
rotation event was available in the relay log to provide the master log file name and master log position. In this situation, the slave now skips relay log recovery and logs a warning, then proceeds 
to start replication.

Replication: When GTIDs are enabled on a replication master and slave, and the slave connects to the master with the MASTER_AUTO_POSITION=1 option set, the master must send the slave all the 
transactions that the slave has not already received, committed, or both. If any of the transactions that should be sent by the master have been already purged from the master's binary log, the 
master sends the error ER_MASTER_HAS_PURGED_REQUIRED_GTIDS (1789) to the slave, and replication does not start.

The message provided for the error ER_MASTER_HAS_PURGED_REQUIRED_GTIDS has been changed to provide advice on the correct action in this situation, which is for the slave to replicate the missing 
transactions from another source, or for the slave to be replaced by a new slave created from a more recent backup. The message advises that the master's binary log expiration period can be revised 
to avoid the situation in future. In addition, the master now identifies the GTIDs of the purged transactions and supplies them in its error log in the warning message ER_FOUND_MISSING_GTIDS (11809), 
so that you do not need to calculate the missing GTIDs manually.

macOS: On macOS, configuring MySQL with -DWITH_SSL=system caused mysql_config output to incorrectly include internal CMake names for the static SSL libraries.

There could be a mismatch between the version of OpenSSL used to build the server and the version used for other parts of MySQL such as libraries or plugins. This could cause certain features not to 
work, such as the LDAP authentication plugins. Now the same version of OpenSSL is used for building everything.

Docker packages were missing the LDAP authentication plugins.

The original table name for a field in a derived table was not always displayed correctly.

MySQL Installer was unable to uninstall MySQL 5.7 on Windows Server 2012.

With multiple sessions executing concurrent INSERT ... ON DUPLICATE KEY UPDATE statements into a table with an AUTO_INCREMENT column but not specifying the AUTO_INCREMENT value, inserts could fail 
with a unique index violation.

With lower_case_table_names=2, SHOW TABLES could fail to display tables with uppercase names.

With keyring_encrypted_file_password set on the command line at server startup, the password value could be visible to system utilities.

With a LOCK TABLES statement in effect, a metadata change for the locked table could cause Performance Schema or SHOW queries for session variables to hang in the opening_tables state.

A SELECT using a WHERE condition of the form A AND (B OR C [OR ...]) resulting in an impossible range led to an unplanned exit of the server.

For JSON-format audit logging, the id field now may contain values larger than 65535. Previously, with heaving logging activity, more than 65536 queries per second could be executed, exceeding the 16 
bits permitted for id values.

An incomplete connection packet could cause clients not to properly initialize the authentication plugin name.

Client programs that used the libmysqlclient C client library could exit upon receipt of an OK packet containing malformed session-tracking information.

Under certain conditions, enabling the read_only or super_read_only system variable did not block concurrent DDL statements executed by users without the SUPER privilege.

mysqlpump exits rather than dumping databases that contain an invalid view, by design, but it also failed if an invalid view existed but was not in any of the databases to be dumped.

diffstat:

 databases/mysql57-client/Makefile                      |   3 +-
 databases/mysql57-client/Makefile.common               |   4 +-
 databases/mysql57-client/PLIST                         |   4 +-
 databases/mysql57-client/distinfo                      |  12 +++++-----
 databases/mysql57-client/patches/patch-cmake_ssl.cmake |  10 ++++----
 databases/mysql57-server/Makefile                      |   3 +-
 databases/mysql57-server/PLIST                         |  21 +++++++++++++++++-
 7 files changed, 37 insertions(+), 20 deletions(-)

diffs (247 lines):

diff -r 3d55b6b657e0 -r c01a27ed77c6 databases/mysql57-client/Makefile
--- a/databases/mysql57-client/Makefile Tue Mar 17 18:17:06 2020 +0000
+++ b/databases/mysql57-client/Makefile Tue Mar 17 18:33:08 2020 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.29 2020/01/18 21:48:00 jperkin Exp $
+# $NetBSD: Makefile,v 1.30 2020/03/17 18:33:08 adam Exp $
 
 PKGNAME=       ${DISTNAME:S/-/-client-/}
-PKGREVISION=   2
 COMMENT=       MySQL 5, a free SQL database (client)
 
 CONFLICTS=     mysql3-client-[0-9]*
diff -r 3d55b6b657e0 -r c01a27ed77c6 databases/mysql57-client/Makefile.common
--- a/databases/mysql57-client/Makefile.common  Tue Mar 17 18:17:06 2020 +0000
+++ b/databases/mysql57-client/Makefile.common  Tue Mar 17 18:33:08 2020 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile.common,v 1.22 2020/03/12 17:31:17 wiz Exp $
+# $NetBSD: Makefile.common,v 1.23 2020/03/17 18:33:08 adam Exp $
 #
 # used by databases/mysql57-client/Makefile
 # used by databases/mysql57-server/Makefile
 
-DISTNAME=      mysql-5.7.28
+DISTNAME=      mysql-5.7.29
 CATEGORIES=    databases
 MASTER_SITES=  ${MASTER_SITE_MYSQL:=MySQL-5.7/}
 
diff -r 3d55b6b657e0 -r c01a27ed77c6 databases/mysql57-client/PLIST
--- a/databases/mysql57-client/PLIST    Tue Mar 17 18:17:06 2020 +0000
+++ b/databases/mysql57-client/PLIST    Tue Mar 17 18:33:08 2020 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.15 2019/10/14 20:19:29 adam Exp $
+@comment $NetBSD: PLIST,v 1.16 2020/03/17 18:33:08 adam Exp $
 bin/mysql
 bin/mysql_client_test
 bin/mysql_config
@@ -122,7 +122,7 @@
 lib/libmysqlclient.a
 lib/libmysqlclient.so
 lib/libmysqlclient.so.20
-lib/libmysqlclient.so.20.3.15
+lib/libmysqlclient.so.20.3.16
 lib/pkgconfig/mysqlclient.pc
 man/man1/comp_err.1
 man/man1/innochecksum.1
diff -r 3d55b6b657e0 -r c01a27ed77c6 databases/mysql57-client/distinfo
--- a/databases/mysql57-client/distinfo Tue Mar 17 18:17:06 2020 +0000
+++ b/databases/mysql57-client/distinfo Tue Mar 17 18:33:08 2020 +0000
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.35 2019/12/06 14:05:11 jperkin Exp $
+$NetBSD: distinfo,v 1.36 2020/03/17 18:33:08 adam Exp $
 
-SHA1 (mysql-5.7.28.tar.gz) = 93d5c460f32576c92f95d9d81938e1d15ece1ae4
-RMD160 (mysql-5.7.28.tar.gz) = 2ab8cddf7479aac8f5eaddd5a23cd4ee62b042d3
-SHA512 (mysql-5.7.28.tar.gz) = fa96cdf8d748a0cc12e01ddf8662e2ebd3a8e6474e38ec94f8c1bc1c6b590b9f60a95d91e7a9157ba2c06043b6cbe9426dc018e1fe33ec23ef8d1db7aa8ee0d6
-Size (mysql-5.7.28.tar.gz) = 54419008 bytes
+SHA1 (mysql-5.7.29.tar.gz) = 5ee9ebf33da3a3135bdadc41cef35f4d205e2049
+RMD160 (mysql-5.7.29.tar.gz) = bf95b9948331cf78c1e6880146381e69f7cf7491
+SHA512 (mysql-5.7.29.tar.gz) = d68add452102d1f6417c992aee22aadee4026147503fe0a3c7cae615cb470f2eb040cd03d01af7b5ae5d454840ce123385d472163eb10fe2216d9062281d174c
+Size (mysql-5.7.29.tar.gz) = 54438870 bytes
 SHA1 (patch-CMakeLists.txt) = 1409a98380c999c6973fa3106dc35684b7c3b3cc
 SHA1 (patch-client_CMakeLists.txt) = 4af2fb3f3d05a66a9ee89f3653e2fcccadfa5f79
 SHA1 (patch-client_completion_hash.cc) = b86ec80beac624b2aa21c7587e351ff126400ecb
@@ -13,7 +13,7 @@
 SHA1 (patch-cmake_os_SunOS.cmake) = b71c3e1fafb48ebbba77c19bb1c31556ebe1ad2a
 SHA1 (patch-cmake_plugin.cmake) = 4480438969e297f67890b1974a86fb88a23d28ed
 SHA1 (patch-cmake_readline.cmake) = fb79ed969240ae2984098f72c2d3fb501154902c
-SHA1 (patch-cmake_ssl.cmake) = e3919316b3d4dc62648b64b8a04dfd824742b4b8
+SHA1 (patch-cmake_ssl.cmake) = 1954dfa0562e5e771bc6d4c6071e49086f7dfab5
 SHA1 (patch-cmd-line-utils_libedit_chartype.h) = 6b1453df648001ed1fc81190106e15872a69a04c
 SHA1 (patch-cmd-line-utils_libedit_vi.c) = 7c5ce1d07f650815d028e435a59e5d078ec74c2f
 SHA1 (patch-include_CMakeLists.txt) = 944991702f046ea7a5e2b6ea4dc390f17426e55a
diff -r 3d55b6b657e0 -r c01a27ed77c6 databases/mysql57-client/patches/patch-cmake_ssl.cmake
--- a/databases/mysql57-client/patches/patch-cmake_ssl.cmake    Tue Mar 17 18:17:06 2020 +0000
+++ b/databases/mysql57-client/patches/patch-cmake_ssl.cmake    Tue Mar 17 18:33:08 2020 +0000
@@ -1,21 +1,21 @@
-$NetBSD: patch-cmake_ssl.cmake,v 1.2 2019/12/06 14:05:11 jperkin Exp $
+$NetBSD: patch-cmake_ssl.cmake,v 1.3 2020/03/17 18:33:08 adam Exp $
 
 Allow OpenSSH versions below 1.0.
 Do not prefer static libraries (or linking will fail).
 
---- cmake/ssl.cmake.orig       2019-09-27 07:00:15.000000000 +0000
+--- cmake/ssl.cmake.orig       2019-12-18 12:59:40.000000000 +0000
 +++ cmake/ssl.cmake
-@@ -152,9 +152,7 @@ MACRO (MYSQL_CHECK_SSL)
+@@ -149,9 +149,7 @@ MACRO (MYSQL_CHECK_SSL)
      ENDIF()
  
      # On mac this list is <.dylib;.so;.a>
--    # We prefer static libraries, so we revert it here.
+-    # We prefer static libraries, so we reverse it here.
      IF (WITH_SSL_PATH)
 -      LIST(REVERSE CMAKE_FIND_LIBRARY_SUFFIXES)
        MESSAGE(STATUS "suffixes <${CMAKE_FIND_LIBRARY_SUFFIXES}>")
      ENDIF()
  
-@@ -192,14 +190,13 @@ MACRO (MYSQL_CHECK_SSL)
+@@ -189,14 +187,13 @@ MACRO (MYSQL_CHECK_SSL)
      IF("${OPENSSL_MAJOR_VERSION}.${OPENSSL_MINOR_VERSION}.${OPENSSL_FIX_VERSION}" VERSION_GREATER "1.1.0")
         ADD_DEFINITIONS(-DHAVE_TLSv13)
         SET(HAVE_TLSv13 1)
diff -r 3d55b6b657e0 -r c01a27ed77c6 databases/mysql57-server/Makefile
--- a/databases/mysql57-server/Makefile Tue Mar 17 18:17:06 2020 +0000
+++ b/databases/mysql57-server/Makefile Tue Mar 17 18:33:08 2020 +0000
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.30 2020/01/18 21:48:57 jperkin Exp $
+# $NetBSD: Makefile,v 1.31 2020/03/17 18:33:08 adam Exp $
 
 PKGNAME=       ${DISTNAME:S/-/-server-/}
-PKGREVISION=   2
 COMMENT=       MySQL 5, a free SQL database (server)
 
 CONFLICTS=     mysql3-server-[0-9]*
diff -r 3d55b6b657e0 -r c01a27ed77c6 databases/mysql57-server/PLIST
--- a/databases/mysql57-server/PLIST    Tue Mar 17 18:17:06 2020 +0000
+++ b/databases/mysql57-server/PLIST    Tue Mar 17 18:33:08 2020 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.15 2019/10/15 21:08:07 schmonz Exp $
+@comment $NetBSD: PLIST,v 1.16 2020/03/17 18:33:08 adam Exp $
 bin/innochecksum
 bin/lz4_decompress
 bin/my_print_defaults
@@ -468,6 +468,7 @@
 share/mysql/test/include/end_include_file.inc
 share/mysql/test/include/end_replace_gtid_combination.inc
 share/mysql/test/include/endspace.inc
+share/mysql/test/include/escape_sql.inc
 share/mysql/test/include/eval.inc
 share/mysql/test/include/execute_at_sync_point.inc
 share/mysql/test/include/execute_from_sync_point.inc
@@ -630,6 +631,7 @@
 share/mysql/test/include/have_slave_parallel_type_database.inc
 share/mysql/test/include/have_slave_parallel_type_logical_clock.inc
 share/mysql/test/include/have_slave_repository_type_file.inc
+share/mysql/test/include/have_slave_repository_type_table.inc
 share/mysql/test/include/have_ssl.inc
 share/mysql/test/include/have_ssl_communication.inc
 share/mysql/test/include/have_ssl_crypto_functs.inc
@@ -793,6 +795,7 @@
 share/mysql/test/include/range.inc
 share/mysql/test/include/read_file_to_var.inc
 share/mysql/test/include/read_many_rows.inc
+share/mysql/test/include/read_only_bug28438114.inc
 share/mysql/test/include/relocate_binlogs.inc
 share/mysql/test/include/remove_debug_point.inc
 share/mysql/test/include/report-features.test
@@ -1435,6 +1438,7 @@
 share/mysql/test/r/innodb_pk_extension_on.result
 share/mysql/test/r/innodb_recovery_with_upper_case_names.result
 share/mysql/test/r/insert.result
+share/mysql/test/r/insert_debug.result
 share/mysql/test/r/insert_notembedded.result
 share/mysql/test/r/insert_select.result
 share/mysql/test/r/insert_update.result
@@ -4411,6 +4415,7 @@
 share/mysql/test/suite/group_replication/r/gr_recovery_donor_failover.result
 share/mysql/test/suite/group_replication/r/gr_recovery_donor_retry.result
 share/mysql/test/suite/group_replication/r/gr_recovery_double_view_update.result
+share/mysql/test/suite/group_replication/r/gr_recovery_errors_report.result
 share/mysql/test/suite/group_replication/r/gr_recovery_fails_to_detect_thread_stop.result
 share/mysql/test/suite/group_replication/r/gr_recovery_lower_max_retry_count.result
 share/mysql/test/suite/group_replication/r/gr_recovery_no_donors.result
@@ -4853,6 +4858,7 @@
 share/mysql/test/suite/group_replication/t/gr_recovery_donor_retry-slave.opt
 share/mysql/test/suite/group_replication/t/gr_recovery_donor_retry.test
 share/mysql/test/suite/group_replication/t/gr_recovery_double_view_update.test
+share/mysql/test/suite/group_replication/t/gr_recovery_errors_report.test
 share/mysql/test/suite/group_replication/t/gr_recovery_fails_to_detect_thread_stop.cnf
 share/mysql/test/suite/group_replication/t/gr_recovery_fails_to_detect_thread_stop.test
 share/mysql/test/suite/group_replication/t/gr_recovery_lower_max_retry_count-slave.opt
@@ -5186,6 +5192,8 @@
 share/mysql/test/suite/innodb/r/ibuf_not_empty.result
 share/mysql/test/suite/innodb/r/import.result
 share/mysql/test/suite/innodb/r/import_export_4k.result
+share/mysql/test/suite/innodb/r/import_tablespace_page_corrupt.result
+share/mysql/test/suite/innodb/r/import_tablespace_schema_missmatch.result
 share/mysql/test/suite/innodb/r/import_update_stats.result
 share/mysql/test/suite/innodb/r/index-online-norebuild.result
 share/mysql/test/suite/innodb/r/index_length.result
@@ -5278,6 +5286,7 @@
 share/mysql/test/suite/innodb/r/innodb_bug14704286.result
 share/mysql/test/suite/innodb/r/innodb_bug19164038.result
 share/mysql/test/suite/innodb/r/innodb_bug21704.result
+share/mysql/test/suite/innodb/r/innodb_bug30113362.result
 share/mysql/test/suite/innodb/r/innodb_bug30423.result
 share/mysql/test/suite/innodb/r/innodb_bug30919.result
 share/mysql/test/suite/innodb/r/innodb_bug34053.result
@@ -5555,6 +5564,8 @@
 share/mysql/test/suite/innodb/t/ibuf_not_empty.test
 share/mysql/test/suite/innodb/t/import.test
 share/mysql/test/suite/innodb/t/import_export_4k.test
+share/mysql/test/suite/innodb/t/import_tablespace_page_corrupt.test
+share/mysql/test/suite/innodb/t/import_tablespace_schema_missmatch.test
 share/mysql/test/suite/innodb/t/import_update_stats.test
 share/mysql/test/suite/innodb/t/index-online-norebuild.test
 share/mysql/test/suite/innodb/t/index_length.test
@@ -5674,6 +5685,7 @@
 share/mysql/test/suite/innodb/t/innodb_bug19164038-master.opt
 share/mysql/test/suite/innodb/t/innodb_bug19164038.test
 share/mysql/test/suite/innodb/t/innodb_bug21704.test
+share/mysql/test/suite/innodb/t/innodb_bug30113362.test
 share/mysql/test/suite/innodb/t/innodb_bug30423.test
 share/mysql/test/suite/innodb/t/innodb_bug30919-master.opt
 share/mysql/test/suite/innodb/t/innodb_bug30919.test
@@ -9713,6 +9725,7 @@
 share/mysql/test/suite/rpl/r/rpl_gtid_compress_thd_ignore_super_read_only.result
 share/mysql/test/suite/rpl/r/rpl_gtid_create_select.result
 share/mysql/test/suite/rpl/r/rpl_gtid_delete_memory_table_after_start_server.result
+share/mysql/test/suite/rpl/r/rpl_gtid_deleted_binlog_fail_to_connect.result
 share/mysql/test/suite/rpl/r/rpl_gtid_do_table_filter_insensitive.result
 share/mysql/test/suite/rpl/r/rpl_gtid_do_table_filter_sensitive.result
 share/mysql/test/suite/rpl/r/rpl_gtid_drop_table.result
@@ -10130,6 +10143,7 @@
 share/mysql/test/suite/rpl/r/rpl_ssl.result
 share/mysql/test/suite/rpl/r/rpl_ssl1.result
 share/mysql/test/suite/rpl/r/rpl_ssl_semisync.result
+share/mysql/test/suite/rpl/r/rpl_start_slave_after_restart_initialized_slave.result
 share/mysql/test/suite/rpl/r/rpl_stm_000001.result
 share/mysql/test/suite/rpl/r/rpl_stm_EE_err2.result
 share/mysql/test/suite/rpl/r/rpl_stm_auto_increment_bug33029.result
@@ -10427,6 +10441,7 @@
 share/mysql/test/suite/rpl/t/rpl_gtid_compress_thd_ignore_super_read_only.test
 share/mysql/test/suite/rpl/t/rpl_gtid_create_select.test
 share/mysql/test/suite/rpl/t/rpl_gtid_delete_memory_table_after_start_server.test
+share/mysql/test/suite/rpl/t/rpl_gtid_deleted_binlog_fail_to_connect.test
 share/mysql/test/suite/rpl/t/rpl_gtid_do_table_filter_insensitive-master.opt
 share/mysql/test/suite/rpl/t/rpl_gtid_do_table_filter_insensitive-slave.opt
 share/mysql/test/suite/rpl/t/rpl_gtid_do_table_filter_insensitive.test
@@ -11113,6 +11128,8 @@
 share/mysql/test/suite/rpl/t/rpl_ssl_semisync-master.opt
 share/mysql/test/suite/rpl/t/rpl_ssl_semisync-slave.opt
 share/mysql/test/suite/rpl/t/rpl_ssl_semisync.test
+share/mysql/test/suite/rpl/t/rpl_start_slave_after_restart_initialized_slave.cnf
+share/mysql/test/suite/rpl/t/rpl_start_slave_after_restart_initialized_slave.test
 share/mysql/test/suite/rpl/t/rpl_stm_000001.test
 share/mysql/test/suite/rpl/t/rpl_stm_EE_err2.test
 share/mysql/test/suite/rpl/t/rpl_stm_auto_increment_bug33029.test
@@ -13882,6 +13899,8 @@
 share/mysql/test/t/innodb_recovery_with_upper_case_names-master.opt
 share/mysql/test/t/innodb_recovery_with_upper_case_names.test
 share/mysql/test/t/insert.test
+share/mysql/test/t/insert_debug-master.opt
+share/mysql/test/t/insert_debug.test
 share/mysql/test/t/insert_notembedded.test
 share/mysql/test/t/insert_select.test
 share/mysql/test/t/insert_update.test



Home | Main Index | Thread Index | Old Index