aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAdnan Maolood <[email protected]>2020-11-09 12:04:53 -0500
committerAdnan Maolood <[email protected]>2020-11-09 12:04:53 -0500
commit46cbcfcaa4beb161c3b5848d0178b9c740467a0e (patch)
treecfbeaeab93ecdbc20042db9bcd76755ea446ff89 /examples
parentRemove (*KnownHosts).LoadDefault function (diff)
downloadgo-gemini-46cbcfcaa4beb161c3b5848d0178b9c740467a0e.tar.xz
go-gemini-46cbcfcaa4beb161c3b5848d0178b9c740467a0e.zip
Remove top-level Get and Do functions
Diffstat (limited to 'examples')
-rw-r--r--examples/auth.go8
-rw-r--r--examples/client.go6
2 files changed, 9 insertions, 5 deletions
diff --git a/examples/auth.go b/examples/auth.go
index b805439..8976fe8 100644
--- a/examples/auth.go
+++ b/examples/auth.go
@@ -64,7 +64,7 @@ func main() {
}
func getSession(cert *x509.Certificate) (*session, bool) {
- fingerprint := gemini.NewFingerprint(cert)
+ fingerprint := gemini.NewFingerprint(cert.Raw, cert.NotAfter)
session, ok := sessions[fingerprint.Hex]
return session, ok
}
@@ -79,7 +79,8 @@ func login(w *gemini.ResponseWriter, r *gemini.Request) {
w.WriteHeader(gemini.StatusInput, "Username")
return
}
- fingerprint := gemini.NewFingerprint(r.Certificate.Leaf)
+ cert := r.Certificate.Leaf
+ fingerprint := gemini.NewFingerprint(cert.Raw, cert.NotAfter)
sessions[fingerprint.Hex] = &session{
username: username,
}
@@ -116,7 +117,8 @@ func logout(w *gemini.ResponseWriter, r *gemini.Request) {
w.WriteStatus(gemini.StatusCertificateRequired)
return
}
- fingerprint := gemini.NewFingerprint(r.Certificate.Leaf)
+ cert := r.Certificate.Leaf
+ fingerprint := gemini.NewFingerprint(cert.Raw, cert.NotAfter)
delete(sessions, fingerprint.Hex)
fmt.Fprintln(w, "Successfully logged out.")
fmt.Fprintln(w, "=> / Index")
diff --git a/examples/client.go b/examples/client.go
index 012e6df..176c8f8 100644
--- a/examples/client.go
+++ b/examples/client.go
@@ -10,9 +10,11 @@ import (
"io/ioutil"
"log"
"os"
+ "path/filepath"
"time"
"git.sr.ht/~adnano/go-gemini"
+ "git.sr.ht/~adnano/go-xdg"
)
const trustPrompt = `The certificate offered by %s is of unknown trust. Its fingerprint is:
@@ -31,9 +33,9 @@ var (
func init() {
client.Timeout = 30 * time.Second
- client.KnownHosts.LoadDefault()
+ client.KnownHosts.Load(filepath.Join(xdg.DataHome(), "gemini", "known_hosts"))
client.TrustCertificate = func(hostname string, cert *x509.Certificate) gemini.Trust {
- fingerprint := gemini.NewFingerprint(cert)
+ fingerprint := gemini.NewFingerprint(cert.Raw, cert.NotAfter)
fmt.Printf(trustPrompt, hostname, fingerprint.Hex)
scanner.Scan()
switch scanner.Text() {