Skip to content

Question about join() in _parse method and ACME client behavior #279

@lmarte78

Description

@lmarte78

Hi,

I was looking at the _parse method in challenge.py and noticed that you use ThreadWithReturnValue combined with join() to validate the challenge:

twrv.start()
_validation = twrv.join(timeout=self.challenge_validation_timeout)

According to the ACME protocol (RFC 8555), the server is expected to perform challenge validation in the background, while clients should poll the challenge endpoint to check its status.

I’m curious if the use of join() here is intentional to force synchronous validation, or if it’s a design choice. Would it be safe to remove the join() and let the validation run fully in background, while relying on clients to poll the challenge status as the protocol suggests?

Thanks in advance for any clarification!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions