When challenge is in "valid" state setChallenge shouldn't be called again. #11
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
hi,
According to letsencrypt, the challenge is valid for 30 days.
in
acmev2.js
implementation,setChallenge
is always called, even if the challenge is invalid
status.The expected behavior was to finalize the order immediately without trying to set the challenge again.
Seeing this error as well:
When testing with Pebble using version draft-11 & draft-12.
I think it can be easily fixed by adding the condition:
to the end of:
I tried @cojalvo's recommendation but it didn't help. Here's a more complete debug log:
Also, curl against one of the authorization URLs shows that the authorization is in status "valid":
It sounds to me like maybe the order is already finalized but it's still trying to do it again?
@cabloo im not sure that the issue you are facing is the same one i report on.
Looking into this now...
@cojalvo Would you mind testing this patch?
f0f9feb519
@cabloo, I'm not sure what to make of that error report, but I think it deserves a separate issue.
I've never tested Greenlock or ACME.js with faux domain names like that (
api.nginx
), so I'm not sure how it will handle them.Perhaps you could set a few
example.com
domains in your/etc/hosts
(such astest.example.com
) and see if you still get those errors?@coolaj86 i will check that and let you know.
Thanks!
@coolaj86 i test you fix (skip-valid-challenge) and it looks good.
When it gone be merged?
Thanks!
Looking forward for this fix as well.
Sorry guys, merging this in now.
Published as v1.5.3
@coolaj86 I find a bug in the fix.
When the order is for multi-domains certificate. it may happen that only one of the authorization will be in a valid state and the other is still pending since the user only satisfied a previous challenge for only one of the domains.
By returning from the
next()
function we skip the validation of the rest of the domains in the order.The correct fix will be:
@cojalvo Have you tried v1.7.7?
I believe that was already fixed.
Reworked in v3.