UNPKG

tedious

Version:

A TDS driver, for connecting to MS SQLServer databases.

38 lines (33 loc) 5.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _token = require("./token"); function parseChallenge(buffer) { const challenge = {}; challenge.magic = buffer.slice(0, 8).toString('utf8'); challenge.type = buffer.readInt32LE(8); challenge.domainLen = buffer.readInt16LE(12); challenge.domainMax = buffer.readInt16LE(14); challenge.domainOffset = buffer.readInt32LE(16); challenge.flags = buffer.readInt32LE(20); challenge.nonce = buffer.slice(24, 32); challenge.zeroes = buffer.slice(32, 40); challenge.targetLen = buffer.readInt16LE(40); challenge.targetMax = buffer.readInt16LE(42); challenge.targetOffset = buffer.readInt32LE(44); challenge.oddData = buffer.slice(48, 56); challenge.domain = buffer.slice(56, 56 + challenge.domainLen).toString('ucs2'); challenge.target = buffer.slice(56 + challenge.domainLen, 56 + challenge.domainLen + challenge.targetLen); return challenge; } function sspiParser(parser, _options, callback) { parser.readUsVarByte(buffer => { callback(new _token.SSPIToken(parseChallenge(buffer), buffer)); }); } var _default = sspiParser; exports.default = _default; module.exports = sspiParser; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZUNoYWxsZW5nZSIsImJ1ZmZlciIsImNoYWxsZW5nZSIsIm1hZ2ljIiwic2xpY2UiLCJ0b1N0cmluZyIsInR5cGUiLCJyZWFkSW50MzJMRSIsImRvbWFpbkxlbiIsInJlYWRJbnQxNkxFIiwiZG9tYWluTWF4IiwiZG9tYWluT2Zmc2V0IiwiZmxhZ3MiLCJub25jZSIsInplcm9lcyIsInRhcmdldExlbiIsInRhcmdldE1heCIsInRhcmdldE9mZnNldCIsIm9kZERhdGEiLCJkb21haW4iLCJ0YXJnZXQiLCJzc3BpUGFyc2VyIiwicGFyc2VyIiwiX29wdGlvbnMiLCJjYWxsYmFjayIsInJlYWRVc1ZhckJ5dGUiLCJTU1BJVG9rZW4iLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rva2VuL3NzcGktdG9rZW4tcGFyc2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQYXJzZXIsIHsgUGFyc2VyT3B0aW9ucyB9IGZyb20gJy4vc3RyZWFtLXBhcnNlcic7XG5cbmltcG9ydCB7IFNTUElUb2tlbiB9IGZyb20gJy4vdG9rZW4nO1xuXG5pbnRlcmZhY2UgRGF0YSB7XG4gIG1hZ2ljOiBzdHJpbmc7XG4gIHR5cGU6IG51bWJlcjtcbiAgZG9tYWluTGVuOiBudW1iZXI7XG4gIGRvbWFpbk1heDogbnVtYmVyO1xuICBkb21haW5PZmZzZXQ6IG51bWJlcjtcbiAgZmxhZ3M6IG51bWJlcjtcbiAgbm9uY2U6IEJ1ZmZlcjtcbiAgemVyb2VzOiBCdWZmZXI7XG4gIHRhcmdldExlbjogbnVtYmVyO1xuICB0YXJnZXRNYXg6IG51bWJlcjtcbiAgdGFyZ2V0T2Zmc2V0OiBudW1iZXI7XG4gIG9kZERhdGE6IEJ1ZmZlcjtcbiAgZG9tYWluOiBzdHJpbmc7XG4gIHRhcmdldDogQnVmZmVyO1xufVxuXG5mdW5jdGlvbiBwYXJzZUNoYWxsZW5nZShidWZmZXI6IEJ1ZmZlcikge1xuICBjb25zdCBjaGFsbGVuZ2U6IFBhcnRpYWw8RGF0YT4gPSB7fTtcblxuICBjaGFsbGVuZ2UubWFnaWMgPSBidWZmZXIuc2xpY2UoMCwgOCkudG9TdHJpbmcoJ3V0ZjgnKTtcbiAgY2hhbGxlbmdlLnR5cGUgPSBidWZmZXIucmVhZEludDMyTEUoOCk7XG4gIGNoYWxsZW5nZS5kb21haW5MZW4gPSBidWZmZXIucmVhZEludDE2TEUoMTIpO1xuICBjaGFsbGVuZ2UuZG9tYWluTWF4ID0gYnVmZmVyLnJlYWRJbnQxNkxFKDE0KTtcbiAgY2hhbGxlbmdlLmRvbWFpbk9mZnNldCA9IGJ1ZmZlci5yZWFkSW50MzJMRSgxNik7XG4gIGNoYWxsZW5nZS5mbGFncyA9IGJ1ZmZlci5yZWFkSW50MzJMRSgyMCk7XG4gIGNoYWxsZW5nZS5ub25jZSA9IGJ1ZmZlci5zbGljZSgyNCwgMzIpO1xuICBjaGFsbGVuZ2UuemVyb2VzID0gYnVmZmVyLnNsaWNlKDMyLCA0MCk7XG4gIGNoYWxsZW5nZS50YXJnZXRMZW4gPSBidWZmZXIucmVhZEludDE2TEUoNDApO1xuICBjaGFsbGVuZ2UudGFyZ2V0TWF4ID0gYnVmZmVyLnJlYWRJbnQxNkxFKDQyKTtcbiAgY2hhbGxlbmdlLnRhcmdldE9mZnNldCA9IGJ1ZmZlci5yZWFkSW50MzJMRSg0NCk7XG4gIGNoYWxsZW5nZS5vZGREYXRhID0gYnVmZmVyLnNsaWNlKDQ4LCA1Nik7XG4gIGNoYWxsZW5nZS5kb21haW4gPSBidWZmZXIuc2xpY2UoNTYsIDU2ICsgY2hhbGxlbmdlLmRvbWFpbkxlbikudG9TdHJpbmcoJ3VjczInKTtcbiAgY2hhbGxlbmdlLnRhcmdldCA9IGJ1ZmZlci5zbGljZSg1NiArIGNoYWxsZW5nZS5kb21haW5MZW4sIDU2ICsgY2hhbGxlbmdlLmRvbWFpbkxlbiArIGNoYWxsZW5nZS50YXJnZXRMZW4pO1xuXG4gIHJldHVybiBjaGFsbGVuZ2UgYXMgRGF0YTtcbn1cblxuZnVuY3Rpb24gc3NwaVBhcnNlcihwYXJzZXI6IFBhcnNlciwgX29wdGlvbnM6IFBhcnNlck9wdGlvbnMsIGNhbGxiYWNrOiAodG9rZW46IFNTUElUb2tlbikgPT4gdm9pZCkge1xuICBwYXJzZXIucmVhZFVzVmFyQnl0ZSgoYnVmZmVyKSA9PiB7XG4gICAgY2FsbGJhY2sobmV3IFNTUElUb2tlbihwYXJzZUNoYWxsZW5nZShidWZmZXIpLCBidWZmZXIpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHNzcGlQYXJzZXI7XG5tb2R1bGUuZXhwb3J0cyA9IHNzcGlQYXJzZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQTs7QUFtQkEsU0FBU0EsY0FBVCxDQUF3QkMsTUFBeEIsRUFBd0M7RUFDdEMsTUFBTUMsU0FBd0IsR0FBRyxFQUFqQztFQUVBQSxTQUFTLENBQUNDLEtBQVYsR0FBa0JGLE1BQU0sQ0FBQ0csS0FBUCxDQUFhLENBQWIsRUFBZ0IsQ0FBaEIsRUFBbUJDLFFBQW5CLENBQTRCLE1BQTVCLENBQWxCO0VBQ0FILFNBQVMsQ0FBQ0ksSUFBVixHQUFpQkwsTUFBTSxDQUFDTSxXQUFQLENBQW1CLENBQW5CLENBQWpCO0VBQ0FMLFNBQVMsQ0FBQ00sU0FBVixHQUFzQlAsTUFBTSxDQUFDUSxXQUFQLENBQW1CLEVBQW5CLENBQXRCO0VBQ0FQLFNBQVMsQ0FBQ1EsU0FBVixHQUFzQlQsTUFBTSxDQUFDUSxXQUFQLENBQW1CLEVBQW5CLENBQXRCO0VBQ0FQLFNBQVMsQ0FBQ1MsWUFBVixHQUF5QlYsTUFBTSxDQUFDTSxXQUFQLENBQW1CLEVBQW5CLENBQXpCO0VBQ0FMLFNBQVMsQ0FBQ1UsS0FBVixHQUFrQlgsTUFBTSxDQUFDTSxXQUFQLENBQW1CLEVBQW5CLENBQWxCO0VBQ0FMLFNBQVMsQ0FBQ1csS0FBVixHQUFrQlosTUFBTSxDQUFDRyxLQUFQLENBQWEsRUFBYixFQUFpQixFQUFqQixDQUFsQjtFQUNBRixTQUFTLENBQUNZLE1BQVYsR0FBbUJiLE1BQU0sQ0FBQ0csS0FBUCxDQUFhLEVBQWIsRUFBaUIsRUFBakIsQ0FBbkI7RUFDQUYsU0FBUyxDQUFDYSxTQUFWLEdBQXNCZCxNQUFNLENBQUNRLFdBQVAsQ0FBbUIsRUFBbkIsQ0FBdEI7RUFDQVAsU0FBUyxDQUFDYyxTQUFWLEdBQXNCZixNQUFNLENBQUNRLFdBQVAsQ0FBbUIsRUFBbkIsQ0FBdEI7RUFDQVAsU0FBUyxDQUFDZSxZQUFWLEdBQXlCaEIsTUFBTSxDQUFDTSxXQUFQLENBQW1CLEVBQW5CLENBQXpCO0VBQ0FMLFNBQVMsQ0FBQ2dCLE9BQVYsR0FBb0JqQixNQUFNLENBQUNHLEtBQVAsQ0FBYSxFQUFiLEVBQWlCLEVBQWpCLENBQXBCO0VBQ0FGLFNBQVMsQ0FBQ2lCLE1BQVYsR0FBbUJsQixNQUFNLENBQUNHLEtBQVAsQ0FBYSxFQUFiLEVBQWlCLEtBQUtGLFNBQVMsQ0FBQ00sU0FBaEMsRUFBMkNILFFBQTNDLENBQW9ELE1BQXBELENBQW5CO0VBQ0FILFNBQVMsQ0FBQ2tCLE1BQVYsR0FBbUJuQixNQUFNLENBQUNHLEtBQVAsQ0FBYSxLQUFLRixTQUFTLENBQUNNLFNBQTVCLEVBQXVDLEtBQUtOLFNBQVMsQ0FBQ00sU0FBZixHQUEyQk4sU0FBUyxDQUFDYSxTQUE1RSxDQUFuQjtFQUVBLE9BQU9iLFNBQVA7QUFDRDs7QUFFRCxTQUFTbUIsVUFBVCxDQUFvQkMsTUFBcEIsRUFBb0NDLFFBQXBDLEVBQTZEQyxRQUE3RCxFQUFtRztFQUNqR0YsTUFBTSxDQUFDRyxhQUFQLENBQXNCeEIsTUFBRCxJQUFZO0lBQy9CdUIsUUFBUSxDQUFDLElBQUlFLGdCQUFKLENBQWMxQixjQUFjLENBQUNDLE1BQUQsQ0FBNUIsRUFBc0NBLE1BQXRDLENBQUQsQ0FBUjtFQUNELENBRkQ7QUFHRDs7ZUFFY29CLFU7O0FBQ2ZNLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQlAsVUFBakIifQ==