Commit Graph

61 Commits

Author SHA1 Message Date
Adnan Maolood
4c5167f590 Add Client.GetInput field 2020-10-27 23:35:22 -04:00
Adnan Maolood
d1dcf070ff Restrict client certificates to certain paths 2020-10-27 23:34:06 -04:00
Adnan Maolood
fc72224ce9 client: Follow redirects 2020-10-27 22:12:10 -04:00
Adnan Maolood
239ec885f7 Add (*Client).Get function 2020-10-27 19:22:34 -04:00
Adnan Maolood
12a9deb1a6 Make (*Response).Body an io.ReadCloser 2020-10-27 19:16:55 -04:00
Adnan Maolood
f0345f3495 Rename repository to go-gemini 2020-10-24 15:15:32 -04:00
Adnan Maolood
9506f69f1a Refactor 2020-10-21 17:07:28 -04:00
adnano
7396bae85e Fix typo 2020-10-13 20:24:06 -04:00
adnano
4189a4f717 Move errors to gemini.go 2020-10-13 20:10:04 -04:00
adnano
3d1e9e5519 Move certificate verification code to VerifyConnection 2020-10-13 16:44:46 -04:00
adnano
a0aa135534 Remove (*Request).Hostname function 2020-10-13 13:31:50 -04:00
adnano
a33a5be063 Update documentation 2020-10-12 16:34:59 -04:00
adnano
065ed828fb Implement server certificate store 2020-10-11 23:48:18 -04:00
adnano
7fdc28d5be Move filesystem code to its own file 2020-10-11 18:57:04 -04:00
adnano
fbc1f76194 Create the certificate store if it does not exist 2020-09-29 11:13:16 -04:00
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