Sindbad~EG File Manager
// Copyright (c) 2021, Oracle and/or its affiliates.
'use strict';
const Packet = require('../packets/packet');
class AuthNextFactor {
constructor(opts) {
this.pluginName = opts.pluginName;
this.pluginData = opts.pluginData;
}
toPacket(encoding) {
const length = 6 + this.pluginName.length + this.pluginData.length;
const buffer = Buffer.allocUnsafe(length);
const packet = new Packet(0, buffer, 0, length);
packet.offset = 4;
packet.writeInt8(0x02);
packet.writeNullTerminatedString(this.pluginName, encoding);
packet.writeBuffer(this.pluginData);
return packet;
}
static fromPacket(packet, encoding) {
packet.readInt8(); // marker
const name = packet.readNullTerminatedString(encoding);
const data = packet.readBuffer();
return new AuthNextFactor({
pluginName: name,
pluginData: data
});
}
}
module.exports = AuthNextFactor;
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists