moved around files
This commit is contained in:
68
user-mgmt_backend/node_modules/mysql2/lib/commands/change_user.js
generated
vendored
Normal file
68
user-mgmt_backend/node_modules/mysql2/lib/commands/change_user.js
generated
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
// This file was modified by Oracle on September 21, 2021.
|
||||
// The changes involve saving additional authentication factor passwords
|
||||
// in the command scope and enabling multi-factor authentication in the
|
||||
// client-side when the server supports it.
|
||||
// Modifications copyright (c) 2021, Oracle and/or its affiliates.
|
||||
|
||||
'use strict';
|
||||
|
||||
const Command = require('./command.js');
|
||||
const Packets = require('../packets/index.js');
|
||||
const ClientConstants = require('../constants/client');
|
||||
const ClientHandshake = require('./client_handshake.js');
|
||||
const CharsetToEncoding = require('../constants/charset_encodings.js');
|
||||
|
||||
class ChangeUser extends Command {
|
||||
constructor(options, callback) {
|
||||
super();
|
||||
this.onResult = callback;
|
||||
this.user = options.user;
|
||||
this.password = options.password;
|
||||
// "password1" is an alias of "password"
|
||||
this.password1 = options.password;
|
||||
this.password2 = options.password2;
|
||||
this.password3 = options.password3;
|
||||
this.database = options.database;
|
||||
this.passwordSha1 = options.passwordSha1;
|
||||
this.charsetNumber = options.charsetNumber;
|
||||
this.currentConfig = options.currentConfig;
|
||||
this.authenticationFactor = 0;
|
||||
}
|
||||
start(packet, connection) {
|
||||
const newPacket = new Packets.ChangeUser({
|
||||
flags: connection.config.clientFlags,
|
||||
user: this.user,
|
||||
database: this.database,
|
||||
charsetNumber: this.charsetNumber,
|
||||
password: this.password,
|
||||
passwordSha1: this.passwordSha1,
|
||||
authPluginData1: connection._handshakePacket.authPluginData1,
|
||||
authPluginData2: connection._handshakePacket.authPluginData2,
|
||||
});
|
||||
this.currentConfig.user = this.user;
|
||||
this.currentConfig.password = this.password;
|
||||
this.currentConfig.database = this.database;
|
||||
this.currentConfig.charsetNumber = this.charsetNumber;
|
||||
connection.clientEncoding = CharsetToEncoding[this.charsetNumber];
|
||||
// clear prepared statements cache as all statements become invalid after changeUser
|
||||
connection._statements.clear();
|
||||
connection.writePacket(newPacket.toPacket());
|
||||
// check if the server supports multi-factor authentication
|
||||
const multiFactorAuthentication =
|
||||
connection.serverCapabilityFlags &
|
||||
ClientConstants.MULTI_FACTOR_AUTHENTICATION;
|
||||
if (multiFactorAuthentication) {
|
||||
// if the server supports multi-factor authentication, we enable it in
|
||||
// the client
|
||||
this.authenticationFactor = 1;
|
||||
}
|
||||
return ChangeUser.prototype.handshakeResult;
|
||||
}
|
||||
}
|
||||
|
||||
ChangeUser.prototype.handshakeResult =
|
||||
ClientHandshake.prototype.handshakeResult;
|
||||
ChangeUser.prototype.calculateNativePasswordAuthToken =
|
||||
ClientHandshake.prototype.calculateNativePasswordAuthToken;
|
||||
|
||||
module.exports = ChangeUser;
|
Reference in New Issue
Block a user