From 94b1c0fac29d0c63c4239daf65b00a09b04f6d55 Mon Sep 17 00:00:00 2001 From: Frank Sauerburger <frank@sauerburger.com> Date: Fri, 11 Mar 2022 15:19:09 +0100 Subject: [PATCH] Return all matching keys --- app/hkp/views.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/hkp/views.py b/app/hkp/views.py index 5436322..304f032 100644 --- a/app/hkp/views.py +++ b/app/hkp/views.py @@ -18,11 +18,14 @@ def lookup(request): if search.startswith("0x"): search = search[2:] - key = get_object_or_404(models.PublicKey, keyid__endswith=search) - if not request.user.has_perm("pgp.view_publickey", key): + keys = models.PublicKey.objects.filter(keyid__endswith=search) + keys = [key for key in keys + if request.user.has_perm("pgp.view_publickey", key)] + if not keys: raise Http404() - response = HttpResponse(key.armor, content_type="application/pgp-keys") + response = HttpResponse("\n".join(k.armor for k in keys), + content_type="application/pgp-keys") response["Access-Control-Allow-Origin"] = "*" response["Access-Control-Allow-Methods"] = "GET, OPTIONS, HEAD" return response -- GitLab