NLnetLabs / krill

RPKI Certificate Authority and Publication Server written in Rust
https://nlnetlabs.nl/projects/routing/krill/
Mozilla Public License 2.0
295 stars 42 forks source link

repository_request with tag should result in repository_response with tag #984

Open ties opened 1 year ago

ties commented 1 year ago

After reading about tags, I tried to upload the following repository_request to testbed.krill.cloud:

<publisher_request xmlns="http://www.hactrn.net/uris/rpki/rpki-setup/" version="1" publisher_handle="localca" tag="tagged-for-test">
  <publisher_bpki_ta>
    MIIDEzCCAfugAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMTEwLwYDVQQDEyg0RDFCMEQ4NjE4ODhFODY2OEI4MDFCMjA4MjU3Mjc0MjJFNDNGODE0MB4XDTIyMTIwNzA3MzcwNloXDTM3MTIwNzA3NDIwNlowMzExMC8GA1UEAxMoNEQxQjBEODYxODg4RTg2NjhCODAxQjIwODI1NzI3NDIyRTQzRjgxNDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANFw8JrYqV7SREIdGygG2fn5FbykV+4RjtqBwC83D8wtHZCx8kdmNAc/7NM5/8KkkhFUTFx+pY677YEUvCRoIrmxCEks2g8UnVG7HEir3rVbicrujFSbQ0hU50LPBUaCyNvMpLHLyScIl20lLbnP/AfrI9vKgZi3O/hHeE0u3wj6CkCf29maq0SDtMie+ZpvoNrL/bcRngq8MIgIl2AGkmZtyZ+JyaJVVB+DYJYtMEaiCGbfOBFQ6xB9UIueloyVIpd4OFFRavLpMxIHGaSxQnr69S2oRggTNYZWQVJlp34bmPLpEp/mtUm/0kw/OFik09mu3mrQQSFytU2R8YK5sLMCAwEAAaMyMDAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUTRsNhhiI6GaLgBsgglcnQi5D+BQwDQYJKoZIhvcNAQELBQADggEBALAc+mAKU7yZ8zQ2JkL7fFw9GaNMOZniBRGmGzIh6z1EMut2w/qT70JuZpt38oU/ZzcH9eB/7IUq7O9Xxs1JDrT5FeBnbqLHJonLectQLbprl8JT0fTOWY6mnIf1YoexInZevAos4hndRxZgrOL6HzJ7Tvh1d/RMn/QcL1wzGfGiu66dbA55zCeBV6wnWgO52tijXIdID30B5ulQ5epd9ox+4R9kJ8Vb7KB8RZ69LxCADH40DureK/u1yLv5ZNH00NWzpmh84nFVf5KiVttRSS4sXfrntX47fm08faGjV1hiW9eFsZSA61ZYhstXCwoRKSWDcxKdzOo67La3hiTxYlc=
  </publisher_bpki_ta>
</publisher_request>

This gave this response:

<repository_response xmlns="http://www.hactrn.net/uris/rpki/rpki-setup/" version="1" publisher_handle="localca" service_uri="https://testbed.krill.cloud/rfc8181/localca/" sia_base="rsync://testbed.krill.cloud/repo/localca/" rrdp_notification_uri="https://testbed.krill.cloud/rrdp/notification.xml">
  <repository_bpki_ta>
    MIIDNDCCAhygAwIBAgIBATANBgkqhkiG9w0BAQsFADAzMTEwLwYDVQQDEyg2QThBOUFEMTA5MjdGOUUzRTMyRDg3MjczQTg1NUIzRDBDMzRDNjFGMB4XDTIyMDIyNTEyMjU1NloXDTM3MDIyNTEyMzA1NlowMzExMC8GA1UEAxMoNkE4QTlBRDEwOTI3RjlFM0UzMkQ4NzI3M0E4NTVCM0QwQzM0QzYxRjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMt42y6PtPChcJqopCCQZkl/amGqyPwhF1QbISlnyehKVjnPfp4ITO1831bA4B7vgtKYqaFMxbrEocBw4BHv7b0hzmIVffrZ0vFYd5kODKQ/5lK9CwnBYRvBCPBu2KwIWWC1soHHdiPpM/dOVoXxmKk46aSclvFaPAn2CGrXU3Sx04yplWcMOB+9PX4ELmrgttKxJYHXMNVz89XNADWC/vgivZTic5h46PPMZIn0cKILkKdwUx05BcNzVgx2GAzvwspyhyYiT9EXBsgYaNDl0ENWZu7NLbhxLj3WXRNxd/AIWmpsDDqBiIq7n6DOqiebHu/3kapgrb7cv1L1MywhRHUCAwEAAaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUaoqa0Qkn+ePjLYcnOoVbPQw0xh8wHwYDVR0jBBgwFoAUaoqa0Qkn+ePjLYcnOoVbPQw0xh8wDQYJKoZIhvcNAQELBQADggEBAIH8R3/14PK1qy1D7HOqN5FbYEO2brwSPKb0UdqNC1o8zLLJ5qGNCWoAvck+pkAJsxOPxgvzvYlwlUzuCToiXFUnDBYPXzI6u8kziJFchRIOFmaQxL+1LKhV66hgXi7r85+3nB0UMrfARzgUjXcZ9WIIQOwtSYq7yTcMHf8na7GJRelvH4B1lNht5AW6fQeRPBHleZZ3DQQc18mX2cPdm/uoegnTlTpM9dRhFTcZeezwkZvEkYG/i9rSMxVmFd1E4gN2e0CPsxdJxZ9oMNubyNToW146Y7v+M5OTibfrIqQKvsBC3BuTZRbXB9093HVmJTff33/zFYexfM3X740MhOo=
  </repository_bpki_ta>
</repository_response>

Expected behavior:

Identical "tag" attribute is present in the response (81813#5.2.4)

Observed behavior:

Tag is not present in response

timbru commented 1 year ago

Yeah, you're right. It should be echo-ed even if Krill doesn't really use it.

The issue with this is state tracking. The response you get is independent from that request in reality. The server accepted the publisher, but the handle in that response is made up by the server. We could track the last known tag, but it's a bit of a hassle.. or have the api ignore previously seen requests and just echo whatever the tag-du-jour is in the response then..

Point is.. it's a bit of work. Can it wait a bit?

ties commented 1 year ago

It can definitely wait.

I think the tag probably should be handled the same way as the publisher_handle. Is that also generated ad hoc?

ties commented 1 year ago

Any update on this issue? We have a related issue open internally :)

timbru commented 1 year ago

No update. I moved it to the bottom of the todo column for this release - I may be able to work on it while the code for improving the storage layer is being reviewed.