commit bd6fbe8b9c77be9c33a4951a270f2a6020625018
parent 22f0457b1be0ecb09b48938c2f7bd2be8a2aa1e1
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Mon, 11 Jul 2022 19:47:35 +0200
404 if validation unknown
Diffstat:
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/pkg/rest/taldir.go b/pkg/rest/taldir.go
@@ -492,11 +492,25 @@ func (t *Taldir) configResponse(w http.ResponseWriter, r *http.Request) {
func (t *Taldir) validationPage(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
- w.Header().Set("Content-Type", "text/html; charset=utf-8")
var walletLink string
- walletLink = "taler://taldir/" + vars["h_address"] + "/" + vars["challenge"] + "-wallet"
var png []byte
- png, err := qrcode.Encode(walletLink, qrcode.Medium, 256)
+ var validation Validation
+
+ // Setup validation object. Retrieve object from DB if it already
+ // exists.
+ h := sha512.New()
+ h.Write([]byte(vars["h_address"]))
+ h_address := util.EncodeBinaryToString(h.Sum(nil))
+ err := t.Db.First(&validation, "h_address = ?", h_address).Error
+ w.Header().Set("Content-Type", "text/html; charset=utf-8")
+ if err != nil {
+ // This validation does not exist.
+ w.WriteHeader(404)
+ return
+ }
+
+ walletLink = "taler://taldir/" + vars["h_address"] + "/" + vars["challenge"] + "-wallet"
+ png, err = qrcode.Encode(walletLink, qrcode.Medium, 256)
if err != nil {
w.WriteHeader(500)
return