From e8b4b5625fa7e2866c557e4ad3e9d4e99be985bb Mon Sep 17 00:00:00 2001 From: rusher Date: Thu, 12 Oct 2023 23:47:56 +0200 Subject: [PATCH] [misc] restrict capabilities to server capabilities --- lib/cmd/handshake/client-capabilities.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/cmd/handshake/client-capabilities.js b/lib/cmd/handshake/client-capabilities.js index 6e17936e..882ae2dc 100644 --- a/lib/cmd/handshake/client-capabilities.js +++ b/lib/cmd/handshake/client-capabilities.js @@ -24,11 +24,8 @@ module.exports.init = function (opts, info) { Capabilities.SESSION_TRACK | Capabilities.CONNECT_ATTRS | Capabilities.PLUGIN_AUTH_LENENC_CLIENT_DATA | - Capabilities.MARIADB_CLIENT_EXTENDED_TYPE_INFO; - - if (info.serverCapabilities & Capabilities.PLUGIN_AUTH) { - capabilities |= Capabilities.PLUGIN_AUTH; - } + Capabilities.MARIADB_CLIENT_EXTENDED_TYPE_INFO | + Capabilities.PLUGIN_AUTH; if (opts.foundRows) { capabilities |= Capabilities.FOUND_ROWS; @@ -65,14 +62,13 @@ module.exports.init = function (opts, info) { } } - if (opts.bulk) { - if (info.serverCapabilities & Capabilities.MARIADB_CLIENT_STMT_BULK_OPERATIONS) { - capabilities |= Capabilities.MARIADB_CLIENT_STMT_BULK_OPERATIONS; - } + if (opts.bulk && info.serverCapabilities & Capabilities.MARIADB_CLIENT_STMT_BULK_OPERATIONS) { + capabilities |= Capabilities.MARIADB_CLIENT_STMT_BULK_OPERATIONS; } if (opts.permitConnectionWhenExpired) { capabilities |= Capabilities.CAN_HANDLE_EXPIRED_PASSWORDS; } - info.clientCapabilities = capabilities; + + info.clientCapabilities = capabilities & info.serverCapabilities; };