Commit Graph

62 Commits

Author SHA1 Message Date
adnano
73a1692a5b Make TrustCertificate accept hostname instead of request 2020-09-27 16:10:36 -04:00
adnano
32a9fcba0c Fix hosts not being added to known hosts file 2020-09-27 16:06:17 -04:00
adnano
c4af352e87 Temporarily allow common names in certificates 2020-09-27 15:57:55 -04:00
adnano
e01d59f8f6 Don't store wildcards in the known hosts file 2020-09-27 15:03:46 -04:00
adnano
0343248952 Remove port from host when verifying hostnames 2020-09-27 14:25:28 -04:00
adnano
188c3457e6 Fix client example 2020-09-27 14:23:25 -04:00
adnano
f0ce4576e1 Handle multiple DNS names
Each DNS name gets its own entry in the known hosts file
2020-09-27 14:22:41 -04:00
adnano
013b2a4d3e Add function to write known hosts to io.Writer 2020-09-27 14:18:30 -04:00
adnano
2eb7fb9ba4 Implement certificate creation 2020-09-27 13:50:48 -04:00
adnano
e28e547bcf Adjust user prompt in client example 2020-09-26 18:56:10 -04:00
adnano
a1a2523c5c Reject requests containing '..' in them 2020-09-26 17:13:13 -04:00
adnano
ceb40a2fab Implement default client 2020-09-26 16:52:14 -04:00
adnano
92a1dbbc0c Implement file server 2020-09-26 16:38:26 -04:00
adnano
6458420454 Add preliminary CertificateStore API 2020-09-26 15:14:34 -04:00
adnano
872f6e2683 Update README.md 2020-09-26 14:34:15 -04:00
adnano
4b0f94157c Fix client example 2020-09-26 14:01:06 -04:00
adnano
d3002cc8b4 Update README.md 2020-09-26 13:59:24 -04:00
adnano
769b6ff4d9 Implement default known hosts path 2020-09-26 13:35:56 -04:00
adnano
1b3f9a0655 Remove (*KnownHosts).Has function 2020-09-26 13:29:29 -04:00
adnano
bf3e6b3c5c Differentiate between unknown and untrusted certificates 2020-09-26 13:27:03 -04:00
adnano
fc96076472 Update README.md 2020-09-26 00:40:28 -04:00
adnano
d604e8c337 Specify minimum version of TLS 1.2 2020-09-26 00:31:16 -04:00
adnano
d5d491e9c2 Fix misleading comment 2020-09-25 23:29:26 -04:00
adnano
1f3587ba9d Distinguish client errors from server errors 2020-09-25 23:23:24 -04:00
adnano
927dfd29c5 Refactor TOFU 2020-09-25 23:18:14 -04:00
adnano
b4295dd2dc Implement basic TOFU 2020-09-25 21:43:13 -04:00
adnano
4a95fe4a90 Add KnownHost.Write function 2020-09-25 20:55:37 -04:00
adnano
be55224f89 Fix known host expires check 2020-09-25 20:31:07 -04:00
adnano
eaa034204a Add method to check if hostname is found in KnownHosts 2020-09-25 20:22:48 -04:00
adnano
53d84882ea Implement configurable Client 2020-09-25 19:53:50 -04:00
adnano
2f43c191cc Reorganize 2020-09-25 19:09:49 -04:00
adnano
d36131356d Rename gemini.go to client.go 2020-09-25 19:07:40 -04:00
adnano
fdb7c9819e Move server code to its own file 2020-09-25 19:06:56 -04:00
adnano
ace3e682de Remove TLSConfig fields 2020-09-25 18:53:20 -04:00
adnano
ec68ab8609 Add test 2020-09-25 11:27:26 -04:00
adnano
99b50e6caf Sort ServeMux entries by length 2020-09-25 11:00:18 -04:00
adnano
eb8c9e0c03 Update README.md 2020-09-25 10:09:41 -04:00
adnano
e09a659439 Update README.md 2020-09-24 20:13:59 -04:00
adnano
0cb8083ce3 Update comments 2020-09-24 19:41:50 -04:00
adnano
57a124a8b9 Convert ResponseWriter to struct 2020-09-24 19:38:26 -04:00
adnano
4b27a736ac Use more buffered I/O 2020-09-24 19:22:35 -04:00
adnano
3980cfd28f Use buffered IO 2020-09-24 19:02:03 -04:00
adnano
891c4fbec4 Remove Client struct
Gemini requests are very simple and leave little room for customization,
so a configurable Client is not necessary.
2020-09-24 01:55:41 -04:00
adnano
ace66eceb0 Provide Response with ConnectionState 2020-09-24 01:45:26 -04:00
adnano
fde295cb25 Fix client example 2020-09-24 01:43:03 -04:00
adnano
c6802d9d9a Merge Request and RequestInfo 2020-09-24 01:37:57 -04:00
adnano
63696fc7c8 Refactor 2020-09-24 00:30:21 -04:00
adnano
758e056952 Handle more than one request at a time 2020-09-24 00:26:30 -04:00
adnano
6297d1e3ca Enforce valid URLs 2020-09-21 22:21:51 -04:00
adnano
86e7fe4355 Add package declaration comment 2020-09-21 22:09:50 -04:00