diff --git a/lib/ConnectionConfig.js b/lib/ConnectionConfig.js index 147aa0abb..6d56ed7b3 100644 --- a/lib/ConnectionConfig.js +++ b/lib/ConnectionConfig.js @@ -66,7 +66,7 @@ ConnectionConfig.mergeFlags = function mergeFlags(defaultFlags, userFlags) { // Merge the new flags for (var flag in newFlags) { - if (allFlags[flag] !== false) { + if (allFlags[flag] !== newFlags[flag]) { allFlags[flag] = newFlags[flag]; } } diff --git a/lib/protocol/Auth.js b/lib/protocol/Auth.js index a1033d1b9..d2617c31a 100644 --- a/lib/protocol/Auth.js +++ b/lib/protocol/Auth.js @@ -8,6 +8,8 @@ function auth(name, data, options) { switch (name) { case 'mysql_native_password': return Auth.token(options.password, data.slice(0, 20)); + case 'mysql_clear_password': + return Buffer.from(options.password); default: return undefined; } diff --git a/test/integration/connection/test-clear-auth.js b/test/integration/connection/test-clear-auth.js new file mode 100644 index 000000000..46c9cc808 --- /dev/null +++ b/test/integration/connection/test-clear-auth.js @@ -0,0 +1,7 @@ +var assert = require('assert'); +var common = require('../../common'); + +common.getTestConnection({ flags: ['+PLUGIN_AUTH'] }, function (err, connection) { + assert.ifError(err, 'got error'); + connection.destroy(); +}); \ No newline at end of file