From 329d2d32d1635343e46001e4a06fb4b93ff59140 Mon Sep 17 00:00:00 2001 From: cage Date: Thu, 18 May 2023 19:08:34 +0200 Subject: [PATCH] - [GUI] fixed deletion of old certificates when a mismatch with the cached ones occurred. --- src/gui/client/main-window.lisp | 2 +- src/gui/server/public-api-gemini-certificates.lisp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gui/client/main-window.lisp b/src/gui/client/main-window.lisp index f4d8ad5..6176039 100644 --- a/src/gui/client/main-window.lisp +++ b/src/gui/client/main-window.lisp @@ -863,7 +863,7 @@ (let ((actual-iri (get-user-request-query iri meta main-window :sensitive t))) (start-stream-iri actual-iri main-window nil))) ((= status-code comm:+tofu-error-status-code+) - (when (gui:ask-yesno meta + (when (gui:ask-yesno (_ "The certificate for this address has changed, replace the old with the one jut got?") :title (_ "Server certificate error") :parent main-window) (cev:enqueue-request-and-wait-results :gemini-delete-certificate diff --git a/src/gui/server/public-api-gemini-certificates.lisp b/src/gui/server/public-api-gemini-certificates.lisp index a970f64..7f5619d 100644 --- a/src/gui/server/public-api-gemini-certificates.lisp +++ b/src/gui/server/public-api-gemini-certificates.lisp @@ -46,8 +46,9 @@ (db:cache-invalidate cache-key) t) -(defun gemini-delete-certificate (cache-key) - (invalidate-cached-value cache-key)) +(defun gemini-delete-certificate (iri) + (let ((host (uri:host (iri:iri-parse iri)))) + (db:tofu-delete host))) (defun gemini-import-certificate (uri cert-file key-file) (db-utils:with-ready-database (:connect nil)