This commit is contained in:
AJ ONeal 2018-05-11 15:07:28 -06:00
parent 4b448fdf6b
commit 6c054cf241
1 changed files with 37 additions and 20 deletions

View File

@ -273,36 +273,53 @@ LE.create = function (le) {
log(le.debug, 'le.getCertificates called for', domain, 'with certs for', certs && certs.altnames || 'NONE'); log(le.debug, 'le.getCertificates called for', domain, 'with certs for', certs && certs.altnames || 'NONE');
var opts = { domain: domain, domains: certs && certs.altnames || [ domain ] }; var opts = { domain: domain, domains: certs && certs.altnames || [ domain ] };
le.approveDomains(opts, certs, function (_err, results) { try {
if (_err) { le.approveDomains(opts, certs, function (_err, results) {
log(le.debug, 'le.approveDomains called with error', _err); if (_err) {
cb(_err); log(le.debug, 'le.approveDomains called with error', _err);
return; cb(_err);
} return;
}
log(le.debug, 'le.approveDomains called with certs for', results.certs && results.certs.altnames || 'NONE', 'and options:'); log(le.debug, 'le.approveDomains called with certs for', results.certs && results.certs.altnames || 'NONE', 'and options:');
log(le.debug, results.options); log(le.debug, results.options);
var promise; var promise;
if (results.certs) { if (results.certs) {
log(le.debug, 'le renewing'); log(le.debug, 'le renewing');
promise = le.core.certificates.renewAsync(results.options, results.certs); promise = le.core.certificates.renewAsync(results.options, results.certs);
} }
else { else {
log(le.debug, 'le getting from disk or registering new'); log(le.debug, 'le getting from disk or registering new');
promise = le.core.certificates.getAsync(results.options); promise = le.core.certificates.getAsync(results.options);
} }
return promise.then(function (certs) { cb(null, certs); }, cb); return promise.then(function (certs) { cb(null, certs); }, function (e) {
}); if (le.debug) { console.debug("Error"); console.debug(e); }
cb(e);
});
});
} catch(e) {
console.error("[ERROR] Something went wrong in approveDomains:");
console.error(e);
console.error("BUT WAIT! Good news: It's probably your fault, so you can probably fix it.");
}
}; };
} }
le.sni = le.sni || require('le-sni-auto'); le.sni = le.sni || require('le-sni-auto');
if (le.sni.create) { if (le.sni.create) {
le.sni = le.sni.create(le); le.sni = le.sni.create(le);
} }
le.tlsOptions.SNICallback = le.sni.sniCallback; le.tlsOptions.SNICallback = function (domain, cb) {
try {
le.sni.sniCallback(domain, cb);
} catch(e) {
console.error("[ERROR] Something went wrong in the SNICallback:");
console.error(e);
cb(e);
}
};
} }
if (!le.tlsOptions.key || !le.tlsOptions.cert) { if (!le.tlsOptions.key || !le.tlsOptions.cert) {
le.tlsOptions = require('localhost.daplie.me-certificates').merge(le.tlsOptions); le.tlsOptions = require('localhost.daplie.me-certificates').merge(le.tlsOptions);