summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib')
-rw-r--r--deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib/socks-agent.js108
-rw-r--r--deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib/socks-client.js306
2 files changed, 0 insertions, 414 deletions
diff --git a/deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib/socks-agent.js b/deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib/socks-agent.js
deleted file mode 100644
index db1c301ec9..0000000000
--- a/deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib/socks-agent.js
+++ /dev/null
@@ -1,108 +0,0 @@
-var tls = require('tls');
-var inherits = require('util').inherits;
-var EventEmitter = require('events').EventEmitter;
-var SocksClient = require('./socks-client.js');
-
-function SocksAgent(options, secure, rejectUnauthorized) {
- this.options = options;
- this.secure = secure || false;
- this.rejectUnauthorized = rejectUnauthorized;
-
- if (this.rejectUnauthorized === undefined) {
- this.rejectUnauthorized = true;
- }
-}
-
-inherits(SocksAgent, EventEmitter);
-
-SocksAgent.prototype.createConnection = function(req, opts, fn) {
- var handler = fn, host, self = this;
-
- this.options.target = this.options.target || {};
-
- if (!this.options.target.host) {
- this.options.target.host = opts.host;
- }
-
- if (!this.options.target.port) {
- this.options.target.port = opts.port;
- }
-
- host = this.options.target.host;
-
- if (this.secure) {
- handler = function(err, socket, info) {
- var options, cleartext;
-
- if (err) {
- return fn(err);
- }
-
- // save encrypted socket
- self.encryptedSocket = socket;
-
- options = {
- socket: socket,
- servername: host,
- rejectUnauthorized: self.rejectUnauthorized
- };
-
- cleartext = tls.connect(options, function (err) {
- return fn(err, this);
- });
- cleartext.on('error', fn);
-
- socket.resume();
- }
- }
-
- SocksClient.createConnection(this.options, handler);
-};
-
-/**
- * @see https://www.npmjs.com/package/agent-base
- */
-SocksAgent.prototype.addRequest = function(req, host, port, localAddress) {
- var opts;
- if ('object' === typeof host) {
- // >= v0.11.x API
- opts = host;
- if (opts.host && opts.path) {
- // if both a `host` and `path` are specified then it's most likely the
- // result of a `url.parse()` call... we need to remove the `path` portion so
- // that `net.connect()` doesn't attempt to open that as a unix socket file.
- delete opts.path;
- }
- } else {
- // <= v0.10.x API
- opts = { host: host, port: port };
- if (null !== localAddress) {
- opts.localAddress = localAddress;
- }
- }
-
- var sync = true;
-
- this.createConnection(req, opts, function (err, socket) {
- function emitErr () {
- req.emit('error', err);
- }
- if (err) {
- if (sync) {
- // need to defer the "error" event, when sync, because by now the `req`
- // instance hasn't event been passed back to the user yet...
- process.nextTick(emitErr);
- } else {
- emitErr();
- }
- } else {
- req.onSocket(socket);
- //have to resume this socket when node 12
- socket.resume();
- }
- });
-
- sync = false;
-};
-
-exports.Agent = SocksAgent;
diff --git a/deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib/socks-client.js b/deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib/socks-client.js
deleted file mode 100644
index 4a31f62c32..0000000000
--- a/deps/npm/node_modules/npm-registry-fetch/node_modules/socks/lib/socks-client.js
+++ /dev/null
@@ -1,306 +0,0 @@
-var net = require('net');
-var ip = require('ip');
-var SmartBuffer = require('smart-buffer');
-
-(function () {
-
- var COMMAND = {
- Connect: 0x01,
- Bind: 0x02,
- Associate: 0x03
- };
-
- var SOCKS4_RESPONSE = {
- Granted: 0x5A,
- Failed: 0x5B,
- Rejected: 0x5C,
- RejectedIdent: 0x5D
- };
-
- var SOCKS5_AUTH = {
- NoAuth: 0x00,
- GSSApi: 0x01,
- UserPass: 0x02
- };
-
- var SOCKS5_RESPONSE = {
- Granted: 0x00,
- Failure: 0x01,
- NotAllowed: 0x02,
- NetworkUnreachable: 0x03,
- HostUnreachable: 0x04,
- ConnectionRefused: 0x05,
- TTLExpired: 0x06,
- CommandNotSupported: 0x07,
- AddressNotSupported: 0x08
- };
-
-
- exports.createConnection = function (options, callback) {
- var socket = new net.Socket(), finished = false, buff = new SmartBuffer();
-
- // Defaults
- options.timeout = options.timeout || 10000;
- options.proxy.command = commandFromString(options.proxy.command);
- options.proxy.userid = options.proxy.userid || "";
-
- var auth = options.proxy.authentication || {};
- auth.username = auth.username || "";
- auth.password = auth.password || "";
-
- options.proxy.authentication = auth;
-
- // Connect & negotiation timeout
- function onTimeout() {
- finish(new Error("Connection Timed Out"), socket, null, callback);
- }
- socket.setTimeout(options.timeout, onTimeout);
-
- // Socket events
- socket.once('close', function () {
- finish(new Error("Socket Closed"), socket, null, callback);
- });
-
- socket.once('error', function (err) {
- });
-
- socket.once('connect', function () {
- if (options.proxy.type === 4) {
- negotiateSocks4(options, socket, callback);
- } else if (options.proxy.type === 5) {
- negotiateSocks5(options, socket, callback);
- } else {
- throw new Error("Please specify a proxy type in options.proxy.type");
- }
- });
-
- socket.connect(options.proxy.port, options.proxy.ipaddress);
-
-
- // 4/4a (connect, bind) - Supports domains & ipaddress
- function negotiateSocks4(options, socket, callback) {
- buff.writeUInt8(0x04);
- buff.writeUInt8(options.proxy.command);
- buff.writeUInt16BE(options.target.port);
-
- // ipv4 or domain?
- if (net.isIPv4(options.target.host)) {
- buff.writeBuffer(ip.toBuffer(options.target.host));
- buff.writeStringNT(options.proxy.userid);
- } else {
- buff.writeUInt8(0x00);
- buff.writeUInt8(0x00);
- buff.writeUInt8(0x00);
- buff.writeUInt8(0x01);
- buff.writeStringNT(options.proxy.userid);
- buff.writeStringNT(options.target.host);
- }
-
- socket.once('data', receivedResponse);
- socket.write(buff.toBuffer());
-
- function receivedResponse(data) {
- socket.pause();
- if (data.length === 8 && data[1] === SOCKS4_RESPONSE.Granted) {
-
- if (options.proxy.command === COMMAND.Bind) {
- buff.clear();
- buff.writeBuffer(data);
- buff.skip(2);
-
- var info = {
- port: buff.readUInt16BE(),
- host: buff.readUInt32BE()
- };
-
- if (info.host === 0) {
- info.host = options.proxy.ipaddress;
- } else {
- info.host = ip.fromLong(info.host);
- }
-
- finish(null, socket, info, callback);
- } else {
- finish(null, socket, null, callback);
- }
-
- } else {
- finish(new Error("Rejected (" + data[1] + ")"), socket, null, callback);
- }
- }
- }
-
- // Socks 5 (connect, bind, associate) - Supports domains and ipv4, ipv6.
- function negotiateSocks5(options, socket, callback) {
- buff.writeUInt8(0x05);
- buff.writeUInt8(2);
- buff.writeUInt8(SOCKS5_AUTH.NoAuth);
- buff.writeUInt8(SOCKS5_AUTH.UserPass);
-
- socket.once('data', handshake);
- socket.write(buff.toBuffer());
-
- function handshake(data) {
- if (data.length !== 2) {
- finish(new Error("Negotiation Error"), socket, null, callback);
- } else if (data[0] !== 0x05) {
- finish(new Error("Negotiation Error (invalid version)"), socket, null, callback);
- } else if (data[1] === 0xFF) {
- finish(new Error("Negotiation Error (unacceptable authentication)"), socket, null, callback);
- } else {
- if (data[1] === SOCKS5_AUTH.NoAuth) {
- sendRequest();
- } else if (data[1] === SOCKS5_AUTH.UserPass) {
- sendAuthentication(options.proxy.authentication);
- } else {
- finish(new Error("Negotiation Error (unknown authentication type)"), socket, null, callback);
- }
- }
- }
-
- function sendAuthentication(authinfo) {
- buff.clear();
- buff.writeUInt8(0x01);
- buff.writeUInt8(Buffer.byteLength(authinfo.username));
- buff.writeString(authinfo.username);
- buff.writeUInt8(Buffer.byteLength(authinfo.password));
- buff.writeString(authinfo.password);
-
- socket.once('data', authenticationResponse);
- socket.write(buff.toBuffer());
-
- function authenticationResponse(data) {
- if (data.length === 2 && data[1] === 0x00) {
- sendRequest();
- } else {
- finish(new Error("Negotiation Error (authentication failed)"), socket, null, callback);
- }
- }
- }
-
- function sendRequest() {
- buff.clear();
- buff.writeUInt8(0x05);
- buff.writeUInt8(options.proxy.command);
- buff.writeUInt8(0x00);
-
- // ipv4, ipv6, domain?
- if (net.isIPv4(options.target.host)) {
- buff.writeUInt8(0x01);
- buff.writeBuffer(ip.toBuffer(options.target.host));
- } else if (net.isIPv6(options.target.host)) {
- buff.writeUInt8(0x04);
- buff.writeBuffer(ip.toBuffer(options.target.host));
- } else {
- buff.writeUInt8(0x03);
- buff.writeUInt8(options.target.host.length);
- buff.writeString(options.target.host);
- }
- buff.writeUInt16BE(options.target.port);
-
- socket.once('data', receivedResponse);
- socket.write(buff.toBuffer());
- }
-
- function receivedResponse(data) {
- socket.pause();
- if (data.length < 4) {
- finish(new Error("Negotiation Error"), socket, null, callback);
- } else if (data[0] === 0x05 && data[1] === SOCKS5_RESPONSE.Granted) {
- if (options.proxy.command === COMMAND.Connect) {
- finish(null, socket, null, callback);
- } else if (options.proxy.command === COMMAND.Bind || options.proxy.command === COMMAND.Associate) {
- buff.clear();
- buff.writeBuffer(data);
- buff.skip(3);
-
- var info = {};
- var addrtype = buff.readUInt8();
-
- try {
-
- if (addrtype === 0x01) {
- info.host = buff.readUInt32BE();
- if (info.host === 0)
- info.host = options.proxy.ipaddress;
- else
- info.host = ip.fromLong(info.host);
- } else if (addrtype === 0x03) {
- var len = buff.readUInt8();
- info.host = buff.readString(len);
- } else if (addrtype === 0x04) {
- info.host = buff.readBuffer(16);
- } else {
- finish(new Error("Negotiation Error (invalid host address)"), socket, null, callback);
- }
- info.port = buff.readUInt16BE();
-
- finish(null, socket, info, callback);
- } catch (ex) {
- finish(new Error("Negotiation Error (missing data)"), socket, null, callback);
- }
- }
- } else {
- finish(new Error("Negotiation Error (" + data[1] + ")"), socket, null, callback);
- }
- }
- }
-
- function finish(err, socket, info, callback) {
- socket.setTimeout(0, onTimeout);
- if (!finished) {
- finished = true;
-
- if (buff instanceof SmartBuffer)
- buff.destroy();
-
- if (err && socket instanceof net.Socket) {
- socket.removeAllListeners('close');
- socket.removeAllListeners('timeout');
- socket.removeAllListeners('data');
- socket.destroy();
- socket = null;
- }
-
- callback(err, socket, info);
- }
- }
-
- function commandFromString(str) {
- var result = COMMAND.Connect;
-
- if (str === "connect") {
- result = COMMAND.Connect;
- } else if (str === 'associate') {
- result = COMMAND.Associate;
- } else if (str === 'bind') {
- result = COMMAND.Bind;
- }
-
- return result;
- }
- };
-
-
- exports.createUDPFrame = function (target, data, frame) {
- var buff = new SmartBuffer();
- buff.writeUInt16BE(0);
- buff.writeUInt8(frame || 0x00);
-
- if (net.isIPv4(target.host)) {
- buff.writeUInt8(0x01);
- buff.writeUInt32BE(ip.toLong(target.host));
- } else if (net.isIPv6(target.host)) {
- buff.writeUInt8(0x04);
- buff.writeBuffer(ip.toBuffer(target.host));
- } else {
- buff.writeUInt8(0x03);
- buff.writeUInt8(Buffer.byteLength(target.host));
- buff.writeString(target.host);
- }
-
- buff.writeUInt16BE(target.port);
- buff.writeBuffer(data);
- return buff.toBuffer();
- };
-})();