Commit Graph

46 Commits

Author SHA1 Message Date
adnano
10760a256f Use net/http implementation of ServeMux 2020-09-28 03:15:19 -04:00
adnano
99940c7c8a Use splitHostPort function from net/url 2020-09-28 02:27:29 -04:00
adnano
be9d3d0fbf Update comments 2020-09-28 02:16:49 -04:00
adnano
f093bf567f Remove unused import 2020-09-28 00:42:19 -04:00
adnano
622ea8e0f1 Update documentation 2020-09-28 00:29:11 -04:00
adnano
21022eb5ac Remove log.Print call 2020-09-28 00:08:42 -04:00
adnano
13d2bd5fea Return certificate if it exists in the store 2020-09-28 00:03:42 -04:00
adnano
5d099a4fe1 Only generate certificates after CertificateRequired 2020-09-27 23:58:45 -04:00
adnano
ae4b458964 Generate certificates on demand 2020-09-27 23:49:41 -04:00
adnano
c3dbcb39db Clarify comment 2020-09-27 22:13:50 -04:00
adnano
5535cff842 Check certificate notBefore and notAfter times 2020-09-27 21:37:10 -04:00
adnano
3428a006ba Move package documentation comment 2020-09-27 21:19:34 -04:00
adnano
370bcf3bb9 Rename NewProxyRequest to NewRequestTo 2020-09-27 20:37:16 -04:00
adnano
38fe1f21dc Change package name to gmi 2020-09-27 20:20:59 -04:00
adnano
73e4ef0689 Reject invalid status codes 2020-09-27 19:56:33 -04:00
adnano
9f1a38a0dd Polish example client 2020-09-27 19:45:48 -04:00
adnano
b46a05e5ff Add client authorization example 2020-09-27 17:39:44 -04:00
adnano
73a1692a5b Make TrustCertificate accept hostname instead of request 2020-09-27 16:10:36 -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
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
6458420454 Add preliminary CertificateStore API 2020-09-26 15:14:34 -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
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
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
63696fc7c8 Refactor 2020-09-24 00:30:21 -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
adnano
01294f6661 Refactor client requests and server responses 2020-09-21 21:31:09 -04:00
adnano
39552c0f8f Provide Handler with client certificate information 2020-09-21 19:17:10 -04:00
adnano
81974a9e00 Update Client documentation 2020-09-21 18:30:55 -04:00
adnano
cc06e65b41 Add support for client-side certificates 2020-09-21 18:21:42 -04:00
adnano
fd74b8fbe9 Use bufio.Reader in (*Client).Do 2020-09-21 17:58:36 -04:00
adnano
e6f70cf697 Update documentation 2020-09-21 17:36:09 -04:00
adnano
e20b8a0a5e Add examples 2020-09-21 17:23:51 -04:00
adnano
257b807675 Initial commit 2020-09-21 15:49:09 -04:00