v2.1.1
This commit is contained in:
parent
510332dcb1
commit
8f08fd5a94
52
index.js
52
index.js
@ -26,7 +26,59 @@ module.exports.create = function (defaults) {
|
||||
cb(null);
|
||||
}
|
||||
|
||||
, loopback: function (defaults, domain, challenge, done) {
|
||||
var hostname = domain + (defaults.loopbackPort ? ':' + defaults.loopbackPort : '');
|
||||
var urlstr = 'http://' + hostname + '/.well-known/acme-challenge/' + key;
|
||||
|
||||
require('http').get(urlstr, function (res) {
|
||||
if (200 !== res.statusCode) {
|
||||
done(new Error("local loopback failed with statusCode " + res.statusCode));
|
||||
return;
|
||||
}
|
||||
var chunks = [];
|
||||
res.on('data', function (chunk) {
|
||||
chunks.push(chunk);
|
||||
});
|
||||
res.on('end', function () {
|
||||
var str = Buffer.concat(chunks).toString('utf8').trim();
|
||||
done(null, str);
|
||||
});
|
||||
}).setTimeout(defaults.loopbackTimeout, function () {
|
||||
done(new Error("loopback timeout, could not reach server"));
|
||||
}).on('error', function (err) {
|
||||
done(err);
|
||||
});
|
||||
}
|
||||
|
||||
, test: function (args, domain, challenge, keyAuthorization, done) {
|
||||
var me = this;
|
||||
var key = keyAuthorization || challenge;
|
||||
|
||||
me.set(args, domain, challenge, key, function (err) {
|
||||
if (err) { done(err); return; }
|
||||
|
||||
myDefaults.loopbackPort = args.loopbackPort;
|
||||
myDefaults.webrootPath = args.webrootPath;
|
||||
me.loopback(args, domain, challenge, function (err, _key) {
|
||||
if (err) { done(err); return; }
|
||||
|
||||
if (key !== _key) {
|
||||
err = new Error("keyAuthorization [original] '" + key + "'"
|
||||
+ " did not match [result] '" + _key + "'");
|
||||
return;
|
||||
}
|
||||
|
||||
me.remove(myDefaults, domain, challenge, function (_err) {
|
||||
if (_err) { done(_err); return; }
|
||||
|
||||
done(err);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
return handlers;
|
||||
};
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "le-challenge-standalone",
|
||||
"version": "2.0.1",
|
||||
"version": "2.1.1",
|
||||
"description": "An in-memory strategy for node-letsencrypt for setting, retrieving, and clearing ACME challenges issued by the ACME server.",
|
||||
"homepage": "https://greenlock.domains/",
|
||||
"main": "index.js",
|
||||
|
Loading…
x
Reference in New Issue
Block a user