New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

passport-tequila

Package Overview
Dependencies
Maintainers
2
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

passport-tequila - npm Package Compare versions

Comparing version 0.1.9 to 0.1.10

.emacs.desktop

0

lib/passport-tequila/index.js

@@ -0,0 +0,0 @@ /**

{
"name": "passport-tequila",
"version": "0.1.9",
"version": "0.1.10",
"private": false,

@@ -22,5 +22,9 @@ "scripts": {

"express-session": "^1.11.3",
"fqdn": "0.0.3",
"ip": "^1.1.3",
"method-override": "^2.3.5",
"mocha": "^2.4.5",
"morgan": "^1.6.1",
"pem": "^1.8.3",
"q": "^1.4.1",
"underscore": "^1.8.3"

@@ -41,2 +45,3 @@ },

},
"license": "MIT",
"licenses": [

@@ -43,0 +48,0 @@ {

@@ -0,0 +0,0 @@ # Passport-Tequila

146

test/fakes.js

@@ -18,3 +18,8 @@ 'use strict';

request = weakRequire("request"),
Protocol = require("../lib/passport-tequila/protocol");
os = require("os"),
Protocol = require("../lib/passport-tequila/protocol"),
pem = weakRequire("pem"),
ip = weakRequire("ip"),
fs = require("fs"),
EventEmitter = require("events").EventEmitter;

@@ -54,3 +59,3 @@ var txt2dictBodyParser = function () {

var self = this;
var server = HTTPSServer(self.app);
var server = new HTTPSServer(self.app);
server.listen(self.port || 0, function(error) {

@@ -67,3 +72,3 @@ if (error) {

function respondWithDict(res, dict) {
res.set("Content-Type", "text/plain; charset=UTF-8\n").send(new Buffer(
res.set("Content-Type", "text/plain; charset=UTF-8").send(new Buffer(
Protocol.dict2txt(dict)));

@@ -86,3 +91,3 @@ }

tequila_port: this.port,
agent: new https.Agent({ca: fakeCert})
agent: new https.Agent({ca: fakeCACert})
}

@@ -164,56 +169,95 @@ };

//
// openssl req -x509 -nodes -days 3650 -newkey rsa:1024 \
// -keyout /dev/stdout -batch -subj "/O=test/CN=localhost"
// openssl req -x509 -nodes -days 10000 -newkey rsa:2048 \
// -keyout /dev/stdout -batch \
// -subj "/O=passport-tequila/CN=passport-tequila test CA"
//
var fakeCert = exports.certificate =
"-----BEGIN CERTIFICATE-----\n" +
"MIICFDCCAX2gAwIBAgIJAPk4T3QL6eNUMA0GCSqGSIb3DQEBCwUAMCMxDTALBgNV\n" +
"BAoMBHRlc3QxEjAQBgNVBAMMCWxvY2FsaG9zdDAeFw0xNjAyMTUxNTMyNThaFw0y\n" +
"NjAyMTIxNTMyNThaMCMxDTALBgNVBAoMBHRlc3QxEjAQBgNVBAMMCWxvY2FsaG9z\n" +
"dDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtiDnFgt2H+larAOAwQ8drzyc\n" +
"mAtbsHkyhEXE28anaZeyACb1MDxpzh4cG+Hy0yggiekORFPmjGsY3weGVTnANJK6\n" +
"6FhqrQjrejl1oh0milv550tV+pFyyQ2a8gagbF3efKU1YixBA9nqyWA9uWHj2nLL\n" +
"nfd9aKPS7iOqedQZ6UECAwEAAaNQME4wHQYDVR0OBBYEFGdKsgCwRxFBYl068ADv\n" +
"UMYPCVsLMB8GA1UdIwQYMBaAFGdKsgCwRxFBYl068ADvUMYPCVsLMAwGA1UdEwQF\n" +
"MAMBAf8wDQYJKoZIhvcNAQELBQADgYEAD4ExR63rqegQQ8tWoBjP2ytk+pU9Zfwr\n" +
"QpyxGctrbjH8UmU0F9grTpXpmk8lEirb60pvzCyCy9fvjqYjaw72PgKnD/QvG8Xo\n" +
"7GJPF2N1gVfSnlGvFTq6QyPXq8fM6kZkCfFj2FbSTDtfzauWCZdGzi84JRB3Oxs7\n" +
"KQiZrnTMFcg=\n" +
"-----END CERTIFICATE-----\n";
var fakeCACert = fs.readFileSync(__dirname + "/ca/ca.crt"),
fakeCAKey = fs.readFileSync(__dirname + "/ca/ca.key");
var fakeKey =
"-----BEGIN PRIVATE KEY-----\n" +
"MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALYg5xYLdh/pWqwD\n" +
"gMEPHa88nJgLW7B5MoRFxNvGp2mXsgAm9TA8ac4eHBvh8tMoIInpDkRT5oxrGN8H\n" +
"hlU5wDSSuuhYaq0I63o5daIdJopb+edLVfqRcskNmvIGoGxd3nylNWIsQQPZ6slg\n" +
"Pblh49pyy533fWij0u4jqnnUGelBAgMBAAECgYAhHhiHJKxlHxyyvKxT7ri6Ha5n\n" +
"42DX1SH/dWRXhmb4x3HBn1PkYofmyAjadRqflONd0Hgcqpj4nZzXKVoe8zJkzeCZ\n" +
"ydivuH3pL/n/nQryvX3XHYcYXRUccoq/cDmHOEV6nBLElVryqXYJMBZdFMWYYevE\n" +
"Oqeaim1p4M0od8Z/AQJBAPJQrrwTccBNuwcDbCQfRd5yqVY0AWbL12zOR+9Cfrws\n" +
"9D3lthbH9ZRuTxAs0WL7RH26gXBBf5BDxmoEsw9nO1ECQQDAag90HcxY4svwMSEi\n" +
"aXdOnuxs/03HsjtiC+3YiHPw3F7Nfhockmzu9qyp6b23ZvXn6q1ULNNxhadSuhex\n" +
"MXLxAkEAyIUd5AOPOVzZrXcWkVnTvr5SBUTp+AAtWBvoCUWUjPICeApUwctdHSSf\n" +
"hrof1/IofobNQHDjOCXt1qPm7ZM20QJAOydgIN6YWCtBb1JrUV0DJNSO8uN6Ug5l\n" +
"Wzs3n/4zRrU5IAvIk0gg3UZQxtvpS10H9IidSOePCbOBQVmctwjwwQJBAPGYg4PL\n" +
"Y3Bs0u9IVS6HhVLCTdorgcxDs03czDK819UZmZb7O8jdc5QlJBniLBR/lrHV3IbJ\n" +
"y4S/YbSQ7jvaGxU=\n" +
"-----END PRIVATE KEY-----\n";
/**
* A fake HTTP/S server.
* @constructor
*/
var HTTPSServer = exports.HTTPSServer = function(handler) {
return https.createServer({
cert: fakeCert,
key: fakeKey
}, handler);
var keysReady = new EventEmitter(),
keys;
getNextSerial(function(err, serial) {
if (err) return handler(err);
getAllAltNames(function (err, altNames) {
if (err) return handler(err);
pem.createCertificate(
{
days:365,
serviceKey: fakeCAKey,
serviceCertificate: fakeCACert,
serial: serial,
organization: "passport-tequila",
commonName: "fake Passport-Tequila server",
altNames: altNames
},
function(err, data) {
if (err) return handler(err);
keys = data;
keysReady.emit("ready");
});
});
});
var server;
return {
listen: function(port, cb) {
keysReady.once("ready", function() {
// console.log(keys.certificate + "\n" + keys.clientKey);
server = https.createServer({
cert: keys.certificate,
key: keys.clientKey
}, handler);
server.listen(port, cb);
});
if (keys) keysReady.emit("ready");
},
address: function() {
return server.address();
}
};
};
function requestWithFakeCert(params) {
function getAllAltNames(done) {
var interfaces = os.networkInterfaces(),
altNames = ["localhost", os.hostname()];
function addAltName(altName) {
if (altNames.indexOf(altName) === -1) {
altNames.push(altName);
}
}
for (var ifname in interfaces) {
interfaces[ifname].forEach(function(address) {
addAltName(address.address);
});
}
var fqdn = require("fqdn");
fqdn(function(err, res) {
if (err) return done(err);
altNames.push(res);
done(null, altNames);
});
}
function requestWithFakeCA(params) {
if (! params.agentOptions) params.agentOptions = {};
params.agentOptions.ca = fakeCert;
params.agentOptions.ca = fakeCACert;
return request(params, params.callback);
}
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
/* Firefox hates certs with the same serial from the same CA. */
function getNextSerial(cb) {
cb(null, getRandomInt(1, Math.pow(2, 32)));
}
/**

@@ -224,3 +268,3 @@ * Like real request, but accepts the fake cert as legitimate

var params = request.initParams(uri, options, callback);
return requestWithFakeCert(params);
return requestWithFakeCA(params);
};

@@ -231,3 +275,3 @@

params.method = "post";
return requestWithFakeCert(params);
return requestWithFakeCA(params);
};

@@ -238,4 +282,10 @@

params.method = "get";
return requestWithFakeCert(params);
return requestWithFakeCA(params);
};
/**
* @returns {string} The certificate of the CA that clients must trust
*/
exports.getCACert = function() {
return fakeCACert;
};
var chai = require('chai'),
expect = chai.expect,
Q = require('Q'),
_ = require('underscore');
_ = require('underscore'),
ip = require('ip');

@@ -14,2 +15,3 @@ var fakes = require('../fakes'),

});
it("serves", function (done) {

@@ -22,2 +24,11 @@ Q.nfcall(request, 'https://localhost:' + server.port + "/404")

});
var localIp = ip.address();
it("serves on all interfaces", (! localIp) ? undefined : function (done) {
Q.nfcall(request, 'https://' + localIp + ':' + server.port + "/404")
.should.be.fulfilled.then(function (callbackArgs) {
var res = callbackArgs[0];
expect(res.statusCode).to.equal(404);
}).should.notify(done);
});
it("serves on /cgi-bin/tequila/createrequest", function (done) {

@@ -37,3 +48,3 @@ Q.nfcall(request.post, {

var matched = String(body).match(/key=(.*)/);
expect(matched).to.be.ok;
expect(matched).to.be.an('Array');
var key = matched[1];

@@ -40,0 +51,0 @@ var expectedRequest = {

@@ -0,0 +0,0 @@ var assert = require('assert'),

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc