1. 31 May, 2022 2 commits
  2. 25 May, 2022 5 commits
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · 05d049bd
      Marko Mäkelä authored
      05d049bd
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · ea40c75c
      Marko Mäkelä authored
      ea40c75c
    • Marko Mäkelä's avatar
      MDEV-28601 InnoDB history list length was reverted to 32 bits · 99c8aed0
      Marko Mäkelä authored
      srv_do_purge(): In commit edde1f6e
      when the de-facto 32-bit trx_sys_t::history_size() was replaced with
      32-bit trx_sys.rseg_history_len, some more variables were changed
      from ulint (size_t) to uint32_t.
      
      The history list length is the number of committed transactions whose
      undo logs are waiting to be purged. Each TRX_RSEG_HISTORY list is
      storing the number of entries in a 32-bit field and each transaction
      will occupy at least one undo log page. It is thinkable that the
      length of each TRX_RSEG_HISTORY list may approach the maximum
      representable number. The number cannot be exceeded, because the
      rollback segment header is allocated from the same tablespace as
      the undo log header pages it is pointing to, and because the page
      numbers of a tablespace are stored in 32 bits. In any case, it is
      possible that the total number of unpurged committed transactions
      cannot be represented in 32 but 39 bits (corresponding to
      128 rollback segments and undo tablespaces).
      99c8aed0
    • Marko Mäkelä's avatar
      MDEV-28665 aio_uring::thread_routine terminates prematurely, causing hang · db0fde3f
      Marko Mäkelä authored
      aio_uring::thread_routine(): Handle -EINTR from io_uring_wait_cqe()
      in the same way as aio_linux::getevent_thread_routine() does it:
      simply ignore it and invoke the system call again.
      
      Reviewed by: Vladislav Vaintroub
      db0fde3f
    • Marko Mäkelä's avatar
      MDEV-28668 Recovery or backup of INSERT may be incorrect · a0e4853e
      Marko Mäkelä authored
      page_cur_insert_rec_low(): When checking for common bytes with
      the preceding record, exclude the header bytes of next_rec
      that could have been updated by this function.
      
      The scenario where this caused corruption was an insert of
      a node pointer record. The child page number was written as
      0x203 but recovered as 0x103 because the n_owned field of next_rec
      was changed from 1 to 2 before the comparison was invoked.
      a0e4853e
  3. 24 May, 2022 19 commits
  4. 23 May, 2022 8 commits
    • Tingyao Nian's avatar
      MDEV-22023 Update man pages titles to say MariaDB instead of MySQL · 3dd3dccb
      Tingyao Nian authored
      When reading the man page of e.g. 'mysql' on a system with MariaDB
      installed one would actually see the man page of 'mariadb'. However the
      man page had no indication of the page being for 'mariadb', which was
      confusing for users.
      
      Fix this by updating the man page title lines to use mariadb-* instead
      of mysql* for MariaDB binaries that are drop-in replacements for MySQL
      equivalents, indicating that the commands are actually of the MariaDB
      version.
      
      In long term, all the commands in man pages should be replaced by their
      MariaDB counterparts. Update the title lines as a start, and only those
      that exist as symlinks to their MariaDB counterparts.
      
      Before:
      
          man mariadb-upgrade | head -n 1
          MYSQL_UPGRADE(1) ...
      
      After:
      
          man mariadb-upgrade | head -n 1
          MARIADB-UPGRADE(1) ...
      
      All new code of the whole pull request, including one or several files
      that are either new files or modified ones, are contributed under the
      BSD-new license. I am contributing on behalf of my employer Amazon Web
      Services, Inc.
      3dd3dccb
    • Vladislav Vaintroub's avatar
      MDEV-28648 main.ssl_timeout fails with OpenSSL 3.0.3 · babb8032
      Vladislav Vaintroub authored
      Depending on OpenSSL version, and at least in 3.0.3, the client-side socket
      timeout is reported as generic error (SSL_ERROR_SYSCALL), losing further
      details (both errno and GetLastError() return 0). This results in client
      reporting "Unknown OpenSSL error" 2026, instead of another generic
      "Lost connection to server during query" 2013
      
      Adjusted test case.
      babb8032
    • Honza Horak's avatar
      MDEV-27778 md5 in FIPS crashes with OpenSSL 3.0.0 · 78412ab0
      Honza Horak authored
      OpenSSL 3.0.0+ does not support EVP_MD_CTX_FLAG_NON_FIPS_ALLOW any longer.
      In OpenSSL 1.1.1 the non FIPS allowed flag is context specific, while
      in 3.0.0+ it is a different EVP_MD provider.
      
      Fixes #2010
      
      part of MDEV-28133
      78412ab0
    • Oleksandr Byelkin's avatar
      Revert "don't build with OpenSSL 3.0, it doesn't work before MDEV-25785" · 987d16a0
      Oleksandr Byelkin authored
      This reverts commit c9beef43, because
      we have OpenSSL 3.0 support here.
      
      part of MDEV-28133
      987d16a0
    • Vladislav Vaintroub's avatar
      MDEV-25785 Add support for OpenSSL 3.0 · f0fa40ef
      Vladislav Vaintroub authored
      Summary of changes
      
      - MD_CTX_SIZE is increased
      
      - EVP_CIPHER_CTX_buf_noconst(ctx) does not work anymore, points
        to nobody knows where. The assumption made previously was that
        (since the function does not seem to be documented)
        was that it points to the last partial source block.
        Add own partial block buffer for NOPAD encryption instead
      
      - SECLEVEL in CipherString in openssl.cnf
        had been downgraded to 0, from 1, to make TLSv1.0 and TLSv1.1 possible
         (according to https://github.com/openssl/openssl/blob/openssl-3.0.0/NEWS.md
         even though the manual for SSL_CTX_get_security_level claims that it
         should not be necessary)
      
      - Workaround Ssl_cipher_list issue, it now returns TLSv1.3 ciphers,
        in addition to what was set in --ssl-cipher
      
      - ctx_buf buffer now must be aligned to 16 bytes with openssl(
        previously with WolfSSL only), ot crashes will happen
      
      - updated aes-t , to be better debuggable
        using function, rather than a huge multiline macro
        added test that does "nopad" encryption piece-wise, to test
        replacement of EVP_CIPHER_CTX_buf_noconst
      
      part of MDEV-28133
      f0fa40ef
    • Marko Mäkelä's avatar
      Merge 10.5 into 10.6 · e86c1e67
      Marko Mäkelä authored
      e86c1e67
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · a0f0687f
      Marko Mäkelä authored
      a0f0687f
    • Marko Mäkelä's avatar
      Merge 10.4 into 10.5 · 2f6a014f
      Marko Mäkelä authored
      2f6a014f
  5. 20 May, 2022 6 commits