Compare commits

...

2 Commits

Author SHA1 Message Date
Elizabeth Hunt ad30583265
add recursive cname stub to resolver answer set
continuous-integration/drone/push Build is passing Details
2024-03-31 14:34:47 -06:00
Elizabeth Hunt 2c6b124664
guestbook qol improvements 2024-03-31 11:47:54 -06:00
3 changed files with 14 additions and 12 deletions

View File

@ -27,8 +27,8 @@ func validateGuestbookEntry(entry *database.GuestbookEntry) []string {
}
messageLength := len(entry.Message)
if messageLength < 10 || messageLength > 500 {
errors = append(errors, "message must be between 10 and 500 characters")
if messageLength > 500 {
errors = append(errors, "message cannot be longer than 500 characters")
}
newLines := strings.Count(entry.Message, "\n")
@ -58,19 +58,17 @@ func SignGuestbookContinuation(context *RequestContext, req *http.Request, resp
Name: name,
Message: message,
}
formErrors.Errors = append(formErrors.Errors, validateGuestbookEntry(entry)...)
if len(formErrors.Errors) > 0 {
(*context.TemplateData)["FormError"] = formErrors
return failure(context, req, resp)
}
err := verifyHCaptcha(context.Args.HcaptchaSecret, hCaptchaResponse)
if err != nil {
log.Println(err)
resp.WriteHeader(http.StatusBadRequest)
formErrors.Errors = append(formErrors.Errors, "hCaptcha verification failed")
}
if len(formErrors.Errors) > 0 {
(*context.TemplateData)["FormError"] = formErrors
(*context.TemplateData)["EntryForm"] = entry
return failure(context, req, resp)
}

View File

@ -23,6 +23,12 @@ func resolveRecursive(dbConn *sql.DB, dnsResolvers []string, domain string, qtyp
answers := []dns.RR{}
for _, record := range internalCnames {
cname, err := dns.NewRR(fmt.Sprintf("%s %d IN CNAME %s", record.Name, record.TTL, record.Content))
if err != nil {
return nil, err
}
answers = append(answers, cname)
cnameRecursive, _ := resolveRecursive(dbConn, dnsResolvers, record.Content, qtype, maxDepth-1)
answers = append(answers, cnameRecursive...)
}

View File

@ -17,9 +17,7 @@
{{ if not .EntryForm }}
placeholder="hoi!"
{{ end }}
>{{ if .EntryForm }}{{ .EntryForm.Message }}{{ end }}
</textarea>
>{{ if .EntryForm }}{{ .EntryForm.Message }}{{ end }}</textarea>
<div
class="h-captcha"
data-sitekey="{{ .HcaptchaArgs.SiteKey }}"