Adnan Maolood
|
66e4dc86d5
|
Add optional host argument in examples/client.go
|
2020-10-28 16:50:17 -04:00 |
|
Adnan Maolood
|
34ae2a9066
|
Use strings.Builder in Fingerprint
|
2020-10-28 15:14:24 -04:00 |
|
Adnan Maolood
|
7f0b1fa8a1
|
Refactor server certificates
|
2020-10-28 15:03:54 -04:00 |
|
Adnan Maolood
|
32f22a3e2c
|
Fix examples/cert.go
|
2020-10-28 13:47:52 -04:00 |
|
Adnan Maolood
|
fbd97a62de
|
Refactor client certificates
|
2020-10-28 13:41:24 -04:00 |
|
Adnan Maolood
|
e6072d8bbc
|
Ensure absolute paths in client certificate store
|
2020-10-27 23:47:13 -04:00 |
|
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
|
860a33f5a2
|
Fix examples
|
2020-10-27 14:17:14 -04:00 |
|
Adnan Maolood
|
8ab4064841
|
Add NewRequestFromURL function
|
2020-10-27 13:27:52 -04:00 |
|
Adnan Maolood
|
c44f011b15
|
Remove (Text).HTML function
|
2020-10-26 12:49:16 -04:00 |
|
Adnan Maolood
|
f0345f3495
|
Rename repository to go-gemini
|
2020-10-24 15:15:32 -04:00 |
|
Adnan Maolood
|
1634c2c11c
|
Add Certificate helper function
|
2020-10-21 17:47:34 -04:00 |
|
Adnan Maolood
|
8c4c00b31a
|
examples/auth: Use sensitive input for passwords
|
2020-10-21 17:38:58 -04:00 |
|
Adnan Maolood
|
ef03df7664
|
Refactor Input and SensitiveInput functions
|
2020-10-21 17:34:07 -04:00 |
|
Adnan Maolood
|
aeff8a051c
|
Rename Handler to Responder
|
2020-10-21 16:28:50 -04:00 |
|
adnano
|
960ebd9b46
|
examples/server: Create certificates if they does not exist
|
2020-10-17 11:57:11 -04:00 |
|
adnano
|
faf94d8ba5
|
Rename rw, req to w, r
|
2020-10-13 20:22:12 -04:00 |
|
adnano
|
d99e3ed17c
|
Remove NewRawCertificate function
|
2020-10-13 17:33:14 -04:00 |
|
adnano
|
292fa7ee4f
|
Remove WriteX509KeyPair function
|
2020-10-13 16:50:59 -04:00 |
|
adnano
|
3d1e9e5519
|
Move certificate verification code to VerifyConnection
|
2020-10-13 16:44:46 -04:00 |
|
adnano
|
db89a34935
|
examples/server: Generate new certificates when they expire
|
2020-10-13 14:22:15 -04:00 |
|
adnano
|
4770ad9112
|
Rename (*KnownHosts).Load to LoadDefault
|
2020-10-12 16:56:55 -04:00 |
|
adnano
|
a33a5be063
|
Update documentation
|
2020-10-12 16:34:59 -04:00 |
|
adnano
|
3e640c3843
|
Update examples
|
2020-10-12 00:13:24 -04:00 |
|
adnano
|
322e66ca1e
|
Implement loading of certificates from a directory
|
2020-10-12 00:06:20 -04:00 |
|
adnano
|
065ed828fb
|
Implement server certificate store
|
2020-10-11 23:48:18 -04:00 |
|
adnano
|
3b5cc23d28
|
Remove dependency on golang.org/x/crypto
|
2020-10-11 21:55:30 -04:00 |
|
adnano
|
2d11edaa4c
|
Implement matching of hostnames and schemes
|
2020-10-11 17:53:22 -04:00 |
|
adnano
|
fbc1f76194
|
Create the certificate store if it does not exist
|
2020-09-29 11:13:16 -04:00 |
|
adnano
|
8d9e50d47a
|
Update module name
|
2020-09-28 18:19:59 -04:00 |
|
adnano
|
684bb1cc68
|
examples/client: Add optional host argument
|
2020-09-28 16:13:14 -04:00 |
|
adnano
|
4c0b13fb57
|
Refuse requests for non-gemini schemes
|
2020-09-28 16:07:51 -04:00 |
|
adnano
|
a49b0cdaac
|
Remove support for matching schemes
|
2020-09-28 16:02:32 -04:00 |
|
adnano
|
744884127c
|
Fix client example error handling
|
2020-09-28 14:26:09 -04:00 |
|
adnano
|
f785ed12fd
|
examples/client: Disable echo for sensitive input
|
2020-09-28 14:20:19 -04:00 |
|
adnano
|
70c5d8b9ce
|
Add WithInput helper functions
|
2020-09-28 02:05:37 -04:00 |
|
adnano
|
aec4a5d7c9
|
Use WithCertificate helper in auth example
|
2020-09-28 01:14:29 -04:00 |
|
adnano
|
956a2bad52
|
Remove NewCertificateStore function
|
2020-09-28 00:41:00 -04:00 |
|
adnano
|
622ea8e0f1
|
Update documentation
|
2020-09-28 00:29:11 -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
|
554e0af32a
|
Split Redirect into two functions
|
2020-09-27 22:06:08 -04:00 |
|
adnano
|
599c5bb131
|
Use helper functions throughout
|
2020-09-27 22:03:09 -04:00 |
|
adnano
|
3c9821d812
|
Add more helper functions
|
2020-09-27 21:13:42 -04:00 |
|
adnano
|
370bcf3bb9
|
Rename NewProxyRequest to NewRequestTo
|
2020-09-27 20:37:16 -04:00 |
|
adnano
|
f6be76f8b8
|
examples/client: Handle relative redirects
|
2020-09-27 20:34:59 -04:00 |
|
adnano
|
38fe1f21dc
|
Change package name to gmi
|
2020-09-27 20:20:59 -04:00 |
|
adnano
|
a4a8d49ca7
|
Add helper handler functions
|
2020-09-27 20:11:45 -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
|
8009de81eb
|
Add function to add a host temporarily
|
2020-09-27 17:41:41 -04:00 |
|
adnano
|
b46a05e5ff
|
Add client authorization example
|
2020-09-27 17:39:44 -04:00 |
|
adnano
|
c79a1f4484
|
Update documentation
|
2020-09-27 16:21:56 -04:00 |
|
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
|
e01d59f8f6
|
Don't store wildcards in the known hosts file
|
2020-09-27 15:03:46 -04:00 |
|
adnano
|
188c3457e6
|
Fix client example
|
2020-09-27 14:23:25 -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
|
92a1dbbc0c
|
Implement file server
|
2020-09-26 16:38:26 -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
|
bf3e6b3c5c
|
Differentiate between unknown and untrusted certificates
|
2020-09-26 13:27:03 -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
|
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
|
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
|
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
|
5a0a515874
|
Provide Handler with client remote address
|
2020-09-21 20:44:10 -04:00 |
|
adnano
|
39552c0f8f
|
Provide Handler with client certificate information
|
2020-09-21 19:17:10 -04:00 |
|
adnano
|
0b6d3d8633
|
Rename example directory to examples
|
2020-09-21 18:25:31 -04:00 |
|