-
Notifications
You must be signed in to change notification settings - Fork 516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clearing pending revocations from a revocation registry clears all pending revocations from other registries. #2932
Comments
So this is actually how it was designed to work but it doesn't make much sense.
I think this should probably be re-designed so it's more obvious what you are doing. Also this endpoint is not available for anoncreds, but I think it should be. |
@jamshale I disagree with this statement. Yes that is what happens when you call the endpoint BUT the docstrings of the
The last line clearly states that if a purge payload is given it will |
Regarding if the endpoint is needed for anoncreds-rs. AFAIK (and I agree) — the controller should not be messing with RevRegs — only ACA-Py internally. When we first implemented Revocation, it was left to the controller to do the processing and it was far too complex. We then implemented ACA-Py handled revocation, but left in the endpoints for the controller. With the move to AnonCreds-RS, we want to get rid of the endpoints and prevent the controller from messing with revocation. The logic is clear enough that ACA-Py can handle it with just business input (using revocation or not, revreg size, when to revoke credentials, when to publish revocations) from the controller. |
Yes. I meant more like this is the way the code was written. I don't think it really makes sense that having an empty list clears all the revocations either, but having revocation ids in the list only purges those revocations. It should be more obvious what you are doing. Fixing it to match the docs description is easy. I was more looking for feedback if I should redefine the logic of this endpoint in general. |
I think I'll just fix it to match the docs description. I don't want to change the behaviour for any controllers currently using this endpoint. |
Below I have 3 registries with pending publications. First two on the same credential definition, third one on a different credential definition.
Response body:
Response body:
Response body:
I then clear one pending revocation from first registry above:
With body:
Response body:
I have cleared
cred_rev_id: "2"
from the pending list BUT when getting the other two registries we see:Response body:
Response body:
All the pending revocations are gone.
Taking a look at the revocation code at line 335 to 351:
It looks like
issuer_rr_recs
should be filtered by the id's passed in thepurge
payload before clearing them, if I am reading this right...The text was updated successfully, but these errors were encountered: