1
0
mirror of https://git.sr.ht/~adnano/go-gemini synced 2024-11-10 00:32:11 +01:00
Commit Graph

141 Commits

Author SHA1 Message Date
adnano
8783d3109e examples/server: Use certificate.Store 2021-02-19 18:45:19 -05:00
adnano
a6c922e1b2 examples: Use Server.Handler 2021-02-17 20:35:27 -05:00
adnano
3ae7a859c4 examples: Use new ResponseWriter interface 2021-02-17 13:39:23 -05:00
adnano
e23fd5217e Move ResponseWriter.Flush to Flusher interface 2021-02-17 11:44:13 -05:00
adnano
0d1cec7086 examples/server: Use os.DirFS 2021-02-17 09:25:44 -05:00
adnano
1d4f1baac4 Replace uses of ioutil with io 2021-02-16 18:57:24 -05:00
adnano
c9e139c90d Update examples/auth.go 2021-02-16 11:26:09 -05:00
adnano
4b8c9f7c12 Update examples/client.go 2021-02-14 18:59:33 -05:00
adnano
a4590e7998 examples/client: Fix opening of known hosts file 2021-02-09 09:48:51 -05:00
adnano
8c0ff0547d Make ResponseWriter an interface 2021-02-09 09:46:18 -05:00
adnano
ecfb9b2154 Use plain integers to represent status codes 2021-02-09 09:46:13 -05:00
adnano
1241af39f0 Update examples 2021-01-25 10:59:50 -05:00
adnano
456f2686bc Guarantee that (*Response).Body is not nil 2021-01-15 15:18:00 -05:00
adnano
1283045355 server: Rename Register to Handle 2021-01-14 22:12:07 -05:00
adnano
648a2ef3ec Update examples 2021-01-14 21:23:13 -05:00
adnano
b623184b87 Update examples/auth.go 2021-01-14 19:04:11 -05:00
adnano
666d82d1a5 Update examples/client.go 2021-01-14 17:28:03 -05:00
Hugo Wetterberg
76e8a9f0bd tofu: Refactor
This commit changes underlying file handling and known hosts parsing.

A known hosts file opened through Load() never closed the underlying
file. During known hosts parsing most errors were unchecked, or just
led to the line being skipped.

I removed the KnownHosts type, which didn't really have a role after
the refactor. The embedding of KnownHosts in KnownHosts file has been
removed as it also leaked the map unprotected by the mutex.

The Fingerprint type is now KnownHost and has taken over the
responsibility of marshalling and unmarshalling.

SetOutput now takes a WriteCloser so that we can close the underlying
writer when it's replaced, or when it's explicitly closed through the
new Close() function.

KnownHostsFile.Add() now also writes the known host to the output if
set. I think that makes sense expectation-wise for the type.

Turned WriteAll() into WriteTo() to conform with the io.WriterTo
interface.

Load() is now Open() to better reflect the fact that a file is opened,
and kept open. It can now also return errors from the parsing process.

The parser does a lot more error checking, and this might be an area
where I've changed a desired behaviour as invalid entries no longer
are ignored, but aborts the parsing process. That could be changed to
a warning, or some kind of parsing feedback.

I added KnownHostsFile.TOFU() to fill the developer experience gap
that was left after the client no longer knows about
KnownHostsFile. It implements a basic non-interactive TOFU flow.
2021-01-14 13:48:57 -05:00
adnano
a3c883de8a Move tofu.go to a subpackage 2021-01-10 16:46:12 -05:00
adnano
1456f82d66 Update examples/stream.go 2021-01-10 01:13:07 -05:00
adnano
c76ff83964 Rename status.Message to status.Meta 2021-01-10 00:10:57 -05:00
adnano
add315920c examples/client: Fix fingerprint check 2020-12-19 13:44:33 -05:00
adnano
b5cc06ad60 Add ResponseWriter.Flush function 2020-12-18 13:15:34 -05:00
adnano
896573601c Add examples/stream.go 2020-12-18 12:31:37 -05:00
adnano
e6f6366708 examples: Add missing descriptions 2020-12-18 00:47:30 -05:00
adnano
f2d93867c4 examples/html: Read from stdin and write to stdout 2020-12-18 00:45:09 -05:00
adnano
70fbdb0e5c Remove Input function 2020-12-18 00:25:06 -05:00
adnano
46e37ca9d6 client: Remove GetInput and CheckRedirect callbacks 2020-12-18 00:12:32 -05:00
adnano
c20ab2054a examples/auth: Fix crash on changing username 2020-12-17 21:10:53 -05:00
adnano
aafbf9e590 Decouple Client from KnownHostsFile 2020-12-17 19:50:26 -05:00
adnano
74ed3090cb client: Add GetCertificate callback 2020-12-17 16:46:16 -05:00
adnano
7c7bfa954a examples/server: Increase certificate duration 2020-11-27 17:54:26 -05:00
adnano
e9907b0628 Update examples/auth.go 2020-11-25 19:10:01 -05:00
adnano
2a7b9662d9 Fix known hosts expiration timestamps 2020-11-25 14:24:49 -05:00
adnano
c8516bef63 Remove top-level Get and Do functions 2020-11-09 12:04:53 -05:00
adnano
676fc4994c Don't guarantee that (*Response).Body is always non-nil 2020-11-08 18:38:08 -05:00
adnano
ad403ddecf update examples/cert.go 2020-11-05 15:38:41 -05:00
adnano
f3f4c8d691 Update examples/auth.go 2020-11-05 15:37:46 -05:00
adnano
6963164a96 Refactor KnownHosts 2020-11-05 15:27:12 -05:00
adnano
eb876fa6f4 Update examples/auth.go 2020-11-03 16:29:39 -05:00
adnano
aaef21a9b3 Add ErrorLog field to Server 2020-11-03 16:11:31 -05:00
adnano
e75c77a6c7 Add Subject option in CertificateOptions 2020-11-02 23:11:46 -05:00
adnano
386b1c56da server: Populate (*Request).Certificate field 2020-11-01 16:25:59 -05:00
adnano
92ea15ecdd Update examples/auth.go 2020-11-01 14:47:26 -05:00
adnano
0d09331fc4 examples: Tweak client and server timeouts 2020-11-01 14:20:24 -05:00
adnano
97bf2b3061 Update examples/cert.go 2020-11-01 14:19:18 -05:00
adnano
570f19477e Update examples/html.go 2020-11-01 00:58:34 -04:00
adnano
fc24256683 Guarantee that (*Response).Body is non-nil 2020-10-31 23:04:47 -04:00
adnano
7c034554f0 Fix examples/client.go 2020-10-31 22:50:42 -04:00
adnano
d36225b337 Add option to skip trust checks 2020-10-31 22:45:21 -04:00