From 1df3bf60c7f8f103c588d203f579c8a42e95fd9e Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Wed, 12 Oct 2016 17:25:05 -0600 Subject: [PATCH] proper check for .loopback and .test on challenges --- index.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index b78eedf..8715fac 100644 --- a/index.js +++ b/index.js @@ -182,8 +182,14 @@ LE.create = function (le) { throw new Error("le.challenges[" + challengeType + "].remove receives the wrong number of arguments." + " You must define removeChallenge as function (opts, domain, token, cb) { }"); } - if (!challenger.loopback || 5 !== challenger.loopback.length) { - console.warn("le.challenges[" + challengeType + "].loopback should be defined as function (opts, domain, token, keyAuthorization, cb) { ... } and should prove (by external means) that the ACME server challenge '" + challengeType + "' will succeed"); + + if (!le._challengeWarn && (!challenger.loopback || 4 !== challenger.loopback.length)) { + le._challengeWarn = true; + console.warn("le.challenges[" + challengeType + "].loopback should be defined as function (opts, domain, token, cb) { ... } and should prove (by external means) that the ACME server challenge '" + challengeType + "' will succeed"); + } + else if (!le._challengeWarn && (!challenger.test || 5 !== challenger.test.length)) { + le._challengeWarn = true; + console.warn("le.challenges[" + challengeType + "].test should be defined as function (opts, domain, token, keyAuthorization, cb) { ... } and should prove (by external means) that the ACME server challenge '" + challengeType + "' will succeed"); } });