Adnan Maolood
6e5c2473e7
tofu: Use base64-encoded sha256 fingerprints
2021-03-06 15:24:15 -05:00
Adnan Maolood
c639233ea1
tofu: Fix format in error message
2021-03-06 15:13:06 -05:00
Adnan Maolood
5677440876
tofu: Automatically create file in KnownHosts.Load
2021-03-06 15:11:30 -05:00
Adnan Maolood
be3d09d7f4
certificate.Store: Don't call os.MkdirAll
2021-03-06 13:11:11 -05:00
Adnan Maolood
504da9afd8
certificate.Store: Don't check parent scopes in Lookup
...
Limit the scopes of client certificates to hostnames only instead of
hostnames and paths.
2021-03-06 12:59:33 -05:00
Adnan Maolood
d1cb8967b6
certificate.Store: Make 100 years the default duration
2021-03-05 23:29:56 -05:00
Adnan Maolood
107b3a1785
Move LoggingMiddleware out of examples/server.go
2021-03-05 11:35:01 -05:00
Adnan Maolood
e7a06a12bf
certificate.Store: Clean scope path in Load
...
Clean the scope path so that trimming the path from the scope works for
relative paths.
2021-03-05 10:51:55 -05:00
Adnan Maolood
649b20659b
Revert "certificate: Remove Subject from CreateOptions"
...
This reverts commit ce649ecc66 .
2021-03-04 20:04:46 -05:00
Adnan Maolood
c9e2af98f3
Revert "certificate.Store: Allow using '*' in DNSNames"
...
This reverts commit de0b93a4f6 .
2021-03-04 19:26:13 -05:00
Adnan Maolood
d6d02e398e
certificate.Store: Bump default duration to 250 years
2021-03-04 16:55:09 -05:00
Adnan Maolood
de0b93a4f6
certificate.Store: Allow using '*' in DNSNames
...
This isn't exactly a valid DNSName, but it reduces the number of
certificates that need to be created. Clients should either accept it or
skip checking DNSNames.
2021-03-04 16:40:25 -05:00
Adnan Maolood
ce649ecc66
certificate: Remove Subject from CreateOptions
2021-03-04 16:27:16 -05:00
Adnan Maolood
688e7e2823
certificate: Fix deadlock in Store.Get
2021-03-04 16:20:57 -05:00
Adnan Maolood
b38311da00
certificate.Store: Fix hostname registration check
2021-03-04 16:12:36 -05:00
Adnan Maolood
8e2ac24830
tofu: Remove expiration timestamp from known hosts
2021-03-04 15:37:02 -05:00
Adnan Maolood
bfa3356d3a
client: Remove hostname verification check
2021-03-04 14:36:31 -05:00
Adnan Maolood
9f3564936e
client: Ignore certificate expiration time
2021-03-04 14:35:51 -05:00
Adnan Maolood
d8fb072826
Rename vendor.go to verify_hostname.go
2021-02-28 23:21:10 -05:00
Adnan Maolood
69f0913b3d
Make Response implement io.WriterTo
2021-02-28 22:21:54 -05:00
Adnan Maolood
f7012b38da
Request.WriteTo: return int64
2021-02-28 22:20:59 -05:00
Adnan Maolood
768ec6c17b
Make Request implement io.WriterTo
2021-02-28 22:16:38 -05:00
Adnan Maolood
ae7d58549d
Add message argument to TimeoutHandler
2021-02-28 22:07:24 -05:00
Adnan Maolood
ad5d78f08f
Mention that Request methods don't work for clients
2021-02-28 21:59:19 -05:00
Adnan Maolood
4b92c71839
Remove Request.RemoteAddr helper method
2021-02-28 21:52:41 -05:00
Adnan Maolood
19f1d6693e
Replace uses of ioutil with io
2021-02-28 21:38:36 -05:00
Adnan Maolood
0e87d64ffc
Require Go 1.16
2021-02-28 21:38:17 -05:00
Adnan Maolood
845f8e9bd1
Reintroduce Response.Write method
2021-02-28 20:50:18 -05:00
Adnan Maolood
cf9ab18c1f
certificate.Store: Check parent scopes in Lookup
2021-02-28 20:23:32 -05:00
Adnan Maolood
ada42ff427
certificate.Store: Support client certificates
2021-02-28 19:29:25 -05:00
Adnan Maolood
fcc71b76d9
examples/server: Clean up LoggingMiddleware
2021-02-27 14:53:37 -05:00
Adnan Maolood
6a1ccdc644
response: Add tests for maximum-length META
2021-02-27 14:08:31 -05:00
Adnan Maolood
f156be19b4
request: Add RemoteAddr helper function
2021-02-27 14:03:33 -05:00
Adnan Maolood
82bdffc1eb
request: Add ServerName helper method
2021-02-27 14:02:30 -05:00
Adnan Maolood
a396ec77e4
request: Cache calls to TLS
2021-02-27 13:59:45 -05:00
Adnan Maolood
21ad3a2ded
server: Disallow ServeConn usage after Shutdown
2021-02-24 19:25:52 -05:00
Adnan Maolood
2d7f28e152
Update examples/client.go
2021-02-24 19:21:31 -05:00
Adnan Maolood
1764e02d1e
Remove ResponseWriter.Close method
2021-02-24 19:00:09 -05:00
Adnan Maolood
1bc5c68c3f
response: Revert to using fields instead of methods
2021-02-24 18:50:40 -05:00
Adnan Maolood
867074d81b
examples/client: Fix display of response status
2021-02-24 16:16:42 -05:00
Adnan Maolood
1da23ba07b
Revert "Replace uses of ioutil with io"
...
This reverts commit 48c67bcead .
2021-02-24 14:45:57 -05:00
Adnan Maolood
cbfbeb6c22
Don't require Go 1.16
2021-02-24 14:29:29 -05:00
Adnan Maolood
c3418fdfed
Add missing import
2021-02-24 14:28:47 -05:00
Adnan Maolood
6181751e8d
Move mimetype registration to gemini.go
2021-02-24 14:27:49 -05:00
Adnan Maolood
48c67bcead
Replace uses of ioutil with io
2021-02-24 11:11:10 -05:00
Adnan Maolood
25f441f573
fs: Remove build constraint
2021-02-24 11:01:02 -05:00
Adnan Maolood
cb7879c966
Add NewResponse function
2021-02-24 10:48:17 -05:00
Adnan Maolood
19bfca1cc3
examples/server: Cancel context
2021-02-24 10:27:28 -05:00
Adnan Maolood
991b18d526
examples/server: Add logging middleware
2021-02-24 10:25:08 -05:00
Adnan Maolood
b66b287f94
ResponseWriter: Remove unexported method
2021-02-24 10:01:46 -05:00
Adnan Maolood
bd29d76f66
client: Fix copying of request
2021-02-24 09:48:23 -05:00
Adnan Maolood
1d20a6c3c8
examples/client: Use Response methods
2021-02-24 09:22:25 -05:00
Adnan Maolood
6f46b2fa47
examples/auth: Use Request.TLS method
2021-02-24 09:22:01 -05:00
Adnan Maolood
15385e3095
fs: Fix Go build constraint comment
2021-02-24 09:00:28 -05:00
Adnan Maolood
3101856afa
response: Move to methods
2021-02-24 08:43:57 -05:00
Adnan Maolood
094c16297b
server: Fix comment
2021-02-24 08:38:08 -05:00
Adnan Maolood
08f5ddd41a
TimeoutHandler: Mention returned error
2021-02-24 08:37:52 -05:00
Adnan Maolood
41c95add81
Add unexported method to timeout writer
2021-02-24 08:34:26 -05:00
Adnan Maolood
de339490f4
Move ResponseWriter Conn and TLS methods to Request
2021-02-24 08:24:49 -05:00
Adnan Maolood
b488146cc6
Remove ResponseWriter.Hijack method
2021-02-24 08:22:12 -05:00
Adnan Maolood
069b473c28
Implement TimeoutHandler by wrapping ResponseWriter
2021-02-24 08:18:23 -05:00
Adnan Maolood
3660698a4b
Make ResponseWriter an interface
...
Make ResponseWriter an interface with an unexported method. Implementors
must embed a ResponseWriter from elsewhere. This gives us the
flexibility of an interface while allowing us to add new methods in the
future.
2021-02-24 00:13:46 -05:00
Adnan Maolood
526d232ab0
Remove ErrHandlerTimeout
2021-02-23 22:15:19 -05:00
Adnan Maolood
f08efa330f
Move TimeoutHandler to handler.go
2021-02-23 22:12:04 -05:00
Adnan Maolood
310bd16344
Unexport NewResponseWriter
2021-02-23 22:02:47 -05:00
Adnan Maolood
9eae88f00c
Reimplement TimeoutHandler
2021-02-23 21:59:16 -05:00
Adnan Maolood
b386a9ba41
response: Change field names
2021-02-23 21:51:42 -05:00
Adnan Maolood
f28a63ff0c
Add ResponseWriter.Hijack method
2021-02-23 21:36:29 -05:00
Adnan Maolood
d35dd3d867
ResponseWriter: Add TLS and Conn methods
2021-02-23 20:59:04 -05:00
Adnan Maolood
75abb99518
request: Remove TLS and Conn methods
2021-02-23 20:57:53 -05:00
Adnan Maolood
e8d98ef4ec
Move I/O utilities to io.go
2021-02-23 20:49:55 -05:00
Adnan Maolood
a65c3c3d4f
Make ResponseWriter a struct
...
Make ResponseWriter a struct again so that it can be extended in a
backwards-compatible way.
2021-02-23 20:41:16 -05:00
Adnan Maolood
64f9381bbc
handler: Mention when the context is canceled
2021-02-23 19:01:12 -05:00
Adnan Maolood
a34cf6dd1b
handler: Mention ResponseWriter.Close method
2021-02-23 18:59:20 -05:00
Adnan Maolood
b3e8d9ccf3
client: Clarify usage of contexts
2021-02-23 18:56:18 -05:00
Adnan Maolood
a7c449a3cf
Use HandlerFunc to implement StatusHandler
2021-02-23 18:52:00 -05:00
Adnan Maolood
02bbedc330
Update documentation
2021-02-23 18:45:58 -05:00
Adnan Maolood
5cf936d304
Update documentation
2021-02-23 17:52:47 -05:00
Adnan Maolood
f1f933925c
Update examples/client.go
2021-02-23 17:52:34 -05:00
Adnan Maolood
e1c04ee605
Make Response an io.ReadCloser
2021-02-23 17:50:47 -05:00
Adnan Maolood
ae3fc2fc73
response: Add Close method
2021-02-23 17:32:23 -05:00
Adnan Maolood
311233a012
request: Fix documentation for TLS
2021-02-23 17:30:46 -05:00
Adnan Maolood
c688defefd
request: Add Conn and TLS methods
2021-02-23 17:29:50 -05:00
Adnan Maolood
83c904913f
response: Add Conn and TLS methods
2021-02-23 16:36:17 -05:00
Adnan Maolood
833edaf63d
server: Cancel context on IO errors
2021-02-23 16:06:57 -05:00
Adnan Maolood
d07e9d99d1
client: Move context handling to do
2021-02-23 16:01:29 -05:00
Adnan Maolood
31e16d5a4c
examples/client: Stream response body
2021-02-23 15:56:44 -05:00
Adnan Maolood
9974071657
client: Cancel context on IO errors
...
Also close the connection when the context expires.
2021-02-23 15:52:47 -05:00
Adnan Maolood
09e3393e4c
examples/stream: Simplify
2021-02-23 15:31:41 -05:00
Adnan Maolood
1aa85d0683
timeout: Don't recover from panics
2021-02-23 15:30:44 -05:00
Adnan Maolood
62e22b4cf2
response: Remove TLS field
2021-02-23 15:29:27 -05:00
Adnan Maolood
eee7156b3a
Update documentation
2021-02-23 14:29:37 -05:00
Adnan Maolood
d8b5fa716a
client: Use present tense in documentation
2021-02-23 12:21:05 -05:00
Adnan Maolood
1080e95bb4
server: Document use of context in ListenAndServe
2021-02-23 12:10:55 -05:00
Adnan Maolood
f722747abd
server: Make ErrorLog an interface
2021-02-23 11:10:35 -05:00
Adnan Maolood
4e25d2c3f9
ServeMux.HandleFunc: Take a HandlerFunc argument
2021-02-23 09:49:20 -05:00
Adnan Maolood
5ab7617efd
server: Fix Shutdown with no active listeners
...
Shutdown and Close will hang if there are no active listeners or
connections. Try to close the done channel to avoid that.
2021-02-23 09:28:14 -05:00
Adnan Maolood
89f0b3f94b
tofu: Update documentation
2021-02-23 09:21:21 -05:00
Adnan Maolood
964c17b99f
text: Update documentation
2021-02-23 09:18:34 -05:00
Adnan Maolood
32f40523ed
certificate.Store: Mention GetCertificate usage
2021-02-23 09:10:22 -05:00