From: Michael Tremer Date: Thu, 6 Oct 2022 14:10:26 +0000 (+0000) Subject: keys: Drop any frontend stuff for keys X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=daf09d2b082171e0ff0f53cb7f75688e8c707cc4;p=pbs.git keys: Drop any frontend stuff for keys Signed-off-by: Michael Tremer --- diff --git a/Makefile.am b/Makefile.am index 794a74e8..f3cf0e6c 100644 --- a/Makefile.am +++ b/Makefile.am @@ -168,9 +168,6 @@ dist_templates_DATA = \ src/templates/index.html \ src/templates/jobs-abort.html \ src/templates/jobs-buildroot.html \ - src/templates/keys-delete.html \ - src/templates/keys-import.html \ - src/templates/keys-list.html \ src/templates/log.html \ src/templates/login.html \ src/templates/package-properties.html \ diff --git a/src/buildservice/keys.py b/src/buildservice/keys.py index cb3233cf..a779bb75 100644 --- a/src/buildservice/keys.py +++ b/src/buildservice/keys.py @@ -165,6 +165,10 @@ class Key(base.DataObject): def length(self): return self.data.length + @property + def public_key(self): + return self.data.public_key + # Subkeys @lazy_property diff --git a/src/templates/base.html b/src/templates/base.html index 3a867f0f..6e60f28d 100644 --- a/src/templates/base.html +++ b/src/templates/base.html @@ -47,9 +47,6 @@
  • {{ _("Mirrors") }}
  • -
  • - {{ _("Key Management") }} -
  • {% if current_user %}
  • {{ _("Users") }} diff --git a/src/templates/keys-delete.html b/src/templates/keys-delete.html deleted file mode 100644 index 0c4f6715..00000000 --- a/src/templates/keys-delete.html +++ /dev/null @@ -1,48 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ _("Delete key %s") % key.uids }}{% end block %} - -{% block body %} - - - - -

    - {{ _("You are going to delete the key %s.") % key.fingerprint }} -

    - -
      - {% for uid in key.uids %} -
    • {{ uid }}
    • - {% end %} -
    - - - -
    -{% end block %} diff --git a/src/templates/keys-import.html b/src/templates/keys-import.html deleted file mode 100644 index e69fe0c4..00000000 --- a/src/templates/keys-import.html +++ /dev/null @@ -1,43 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ _("Import new key") }}{% end block %} - -{% block body %} - - - - -
    - {% raw xsrf_form_html() %} -
    -
    - -
    - - -

    - {{ _("Paste the key to import.") }} -

    -
    -
    - -
    - -
    -
    -
    -{% end block %} diff --git a/src/templates/keys-list.html b/src/templates/keys-list.html deleted file mode 100644 index 29dd25b1..00000000 --- a/src/templates/keys-list.html +++ /dev/null @@ -1,109 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ _("Key Management") }}{% end block %} - -{% block body %} - - - - -

    - {{ _("The keys are a very important component when it comes to security.") }} - {{ _("Each package in the Pakfire Build Service is signed to prove its authenticity.") }} -

    - -
    - - - - - - - - - - - - - {% for key in keys %} - - - - - - {% for subkey in key.subkeys %} - - - - - - - - {% end %} - - - - - {% end %} - -
     {{ _("Fingerprint") }}{{ _("Created") }}{{ _("Expires") }}
    - - {% for uid in key.uids %} - {{ uid }}
    - {% end %} -
    -
    - - - {% if key.has_perm(current_user) and key.can_be_deleted() %} - - {% end %} -
      - {% if subkey.algo %} - {{ _("Subkey") }} ({{ subkey.algo }}): - {% else %} - {{ _("Subkey") }}: - {% end %} - {{ subkey.fingerprint }}{{ format_date(subkey.time_created) }} - {% if subkey.time_expires %} - {% if subkey.expired %} - - {% end %} - - {{ format_date(subkey.time_expires, full_format=True) }} - {% else %} - {{ _("This key does not expire.") }} - {% end %} -
     
    - - {% if current_user and current_user.is_admin() %} - - - {{ _("Import new key") }} - - {% end %} -{% end block %} diff --git a/src/web/__init__.py b/src/web/__init__.py index 6657d3fd..935e397c 100644 --- a/src/web/__init__.py +++ b/src/web/__init__.py @@ -206,11 +206,8 @@ class Application(tornado.web.Application): (r"/mirror/([\w\-\.]+)/edit", mirrors.MirrorEditHandler), (r"/mirror/([\w\-\.]+)", mirrors.MirrorDetailHandler), - # Key management - (r"/keys", keys.KeysListHandler), - (r"/key/import", keys.KeysImportHandler), - (r"/key/([A-Z0-9]+)", keys.KeysDownloadHandler), - (r"/key/([A-Z0-9]+)/delete", keys.KeysDeleteHandler), + # Keys + (r"/keys/([A-Z0-9]+)", keys.DownloadHandler), # Search (r"/search", search.SearchHandler), diff --git a/src/web/keys.py b/src/web/keys.py index ea8b1fa9..6b362632 100644 --- a/src/web/keys.py +++ b/src/web/keys.py @@ -1,62 +1,15 @@ -#!/usr/bin/python +#!/usr/bin/python3 import tornado.web from . import base -class KeysActionHandler(base.BaseHandler): - pass - -class KeysImportHandler(KeysActionHandler): - @tornado.web.authenticated - def get(self): - self.render("keys-import.html") - - @tornado.web.authenticated - def post(self): - data = self.get_argument("data") - - # Check permissions - if not key.has_perm(self.current_user): - raise tornado.web.HTTPError(403) - - key = self.backend.keys.create(data) - assert key - - self.redirect("/keys") - - -class KeysDeleteHandler(KeysActionHandler): - @tornado.web.authenticated - def get(self, fingerprint): - key = self.backend.keys.get_by_fpr(fingerprint) - if not key: - raise tornado.web.HTTPError(404, "Could not find key: %s" % fingerprint) - - # Check permissions - if not key.has_perm(self.current_user): - raise tornado.web.HTTPError(403) - - confirmed = self.get_argument("confirmed", False) - if confirmed: - key.delete() - - return self.redirect("/keys") - - self.render("keys-delete.html", key=key) - - -class KeysListHandler(base.BaseHandler): - def get(self): - self.render("keys-list.html", keys=self.backend.keys) - - -class KeysDownloadHandler(base.BaseHandler): +class DownloadHandler(base.BaseHandler): def get(self, fingerprint): - key = self.backend.keys.get_by_fpr(fingerprint) + key = self.backend.keys.get_by_fingerprint(fingerprint) if not key: - raise tornado.web.HTTPError(404, "Could not find key: %s" % fingerprint) + raise tornado.web.HTTPError(404, "Could not find key %s" % fingerprint) - # Send the key data. + # Send the key data self.set_header("Content-Type", "text/plain") - self.write(key.key) + self.finish(key.public_key)