123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- var CommandCode = require('../constants/commands.js');
- var Packet = require('../packets/packet.js');
- var auth41 = require('../auth_41.js');
- function ChangeUser(opts)
- {
- this.user = opts.user || '';
- this.database = opts.database || '';
- this.password = opts.password || '';
- this.passwordSha1 = opts.passwordSha1;
- this.authPluginData1 = opts.authPluginData1;
- this.authPluginData2 = opts.authPluginData2;
- var authToken;
- if (this.passwordSha1) {
- authToken = auth41.calculateTokenFromPasswordSha(this.passwordSha1, this.authPluginData1, this.authPluginData2);
- } else {
- authToken = auth41.calculateToken(this.password, this.authPluginData1, this.authPluginData2);
- }
- this.authToken = authToken;
- this.charsetNumber = opts.charsetNumber;
- }
- // TODO
- //ChangeUser.fromPacket = function(packet)
- //};
- ChangeUser.prototype.toPacket = function()
- {
- if (typeof this.user != 'string')
- throw new Error('"user" connection config prperty must be a string');
- if (typeof this.database != 'string')
- throw new Error('"database" connection config prperty must be a string');
- var length = 4 + 1 + (1 + this.authToken.length) + (2 + this.user.length + this.database.length) + 2;
- var buffer = new Buffer(length);
- var packet = new Packet(0, buffer, 0, length);
- packet.offset = 4;
- packet.writeInt8(CommandCode.CHANGE_USER);
- packet.writeNullTerminatedString(this.user);
- packet.writeInt8(this.authToken.length);
- packet.writeBuffer(this.authToken);
- packet.writeNullTerminatedString(this.database);
- packet.writeInt16(this.charsetNumber);
- return packet;
- };
- module.exports = ChangeUser;
|