Hugo Wetterberg
efef44c2f9
server: abort request handling on bad requests
...
A request to a hostname that hasn't been registered with the server
currently results in a nil pointer deref panic in server.go:215 as
request handling continues even if ReadRequest() returns an error.
This change changes all if-else error handling in Server.respond() to
a WriteStatus-call and early return. This makes it clear when request
handling is aborted (and actually aborts when ReadRequest() fails).
2021-01-05 18:33:36 -05:00
Adnan Maolood
61b417a5c4
Add ResponseWriter.Flush function
2020-12-18 13:15:34 -05:00
Adnan Maolood
d9a690a98f
Make NewResponseWriter take an io.Writer
2020-12-18 01:47:29 -05:00
Adnan Maolood
d34d5df89e
Add ReadRequest and ReadResponse functions
2020-12-18 01:42:05 -05:00
Adnan Maolood
decd72cc23
Expose Request.Write and Response.Read functions
2020-12-18 01:14:06 -05:00
Adnan Maolood
c329a2487e
server: Don't always assume TLS is used
2020-12-18 01:02:04 -05:00
Adnan Maolood
35836f2ff7
Remove Input function
2020-12-18 00:25:06 -05:00
Adnan Maolood
cab23032c0
Don't assume a default scheme of gemini
2020-11-24 17:13:52 -05:00
Adnan Maolood
0c75e5d5ad
Expose KnownHosts and CertificateStore internals
2020-11-23 12:17:54 -05:00
Adnan Maolood
3dee6dcff3
Add (*CertificateStore).Write function
2020-11-09 13:54:15 -05:00
Adnan Maolood
85f8e84bd5
Rename (*ResponseWriter).SetMimetype to SetMediaType
2020-11-09 13:44:42 -05:00
Adnan Maolood
ff6c95930b
Fix TOFU
2020-11-05 22:30:13 -05:00
Adnan Maolood
b76080c863
Refactor KnownHosts
2020-11-05 15:27:12 -05:00
Adnan Maolood
610c6fc533
Add ErrorLog field to Server
2020-11-03 16:11:31 -05:00
Adnan Maolood
b6475aa7d9
server: Populate (*Request).Certificate field
2020-11-01 16:25:59 -05:00
adnano
e4dea6f2c8
Refactor Certificate and Input functions
2020-11-01 14:35:03 -05:00
Adnan Maolood
7fb1b6c6a4
Update documentation
2020-11-01 00:10:30 -04:00
Adnan Maolood
65a5065250
Refactor client.TrustCertificate workflow
2020-10-31 22:34:51 -04:00
Adnan Maolood
7d470c5fb1
Implement Server read and write timeouts
2020-10-31 21:07:02 -04:00
Adnan Maolood
a2fc1772bf
Set default mimetype if META is empty
2020-10-31 20:32:38 -04:00
Adnan Maolood
63b9b484d1
Remove Redirect and PermanentRedirect functions
...
Use (*ResponseWriter).WriteHeader instead.
2020-10-31 16:51:10 -04:00
Adnan Maolood
ca8e0166fc
Add ErrCertificateNotFound
2020-10-31 16:45:38 -04:00
Adnan Maolood
14ef3be6fe
server: Automatically write new certificates to disk
2020-10-31 16:33:56 -04:00
Adnan Maolood
3aa254870a
Call CreateCertificate for missing certificates
2020-10-31 15:38:39 -04:00
Adnan Maolood
a89065babb
Fix handling of wildcard hostnames
2020-10-31 15:11:05 -04:00
Adnan Maolood
66e4dc86d5
Add optional host argument in examples/client.go
2020-10-28 16:50:17 -04:00
Adnan Maolood
b5fbd197a1
Update documentation
2020-10-28 16:02:04 -04:00
Adnan Maolood
7f0b1fa8a1
Refactor server certificates
2020-10-28 15:03:54 -04:00
Adnan Maolood
4c5167f590
Add Client.GetInput field
2020-10-27 23:35:22 -04:00
Adnan Maolood
79165833de
Add (*ResponseWriter).WriteStatus function
2020-10-27 13:30:35 -04:00
Adnan Maolood
ca118681c0
Update documentation
2020-10-24 15:29:12 -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
ef03df7664
Refactor Input and SensitiveInput functions
2020-10-21 17:34:07 -04:00
Adnan Maolood
9506f69f1a
Refactor
2020-10-21 17:07:28 -04:00
Adnan Maolood
aeff8a051c
Rename Handler to Responder
2020-10-21 16:28:50 -04:00
Adnan Maolood
53326e59a0
Update documentation
2020-10-21 16:04:19 -04:00
Adnan Maolood
376c602748
Assume a default scheme of gemini://
2020-10-21 15:47:32 -04:00
Adnan Maolood
9daf84a121
Add support for wildcard hostnames
2020-10-21 13:22:26 -04:00
adnano
39645eb921
Rename rw to w
2020-10-13 21:00:07 -04:00
adnano
78280070ae
Add copyright notice
2020-10-13 20:36:47 -04:00
adnano
faf94d8ba5
Rename rw, req to w, r
2020-10-13 20:22:12 -04:00
adnano
4189a4f717
Move errors to gemini.go
2020-10-13 20:10:04 -04:00
adnano
92789dff19
Update comment
2020-10-13 19:11: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
a0aa135534
Remove (*Request).Hostname function
2020-10-13 13:31:50 -04:00
adnano
2370c42d8d
Use a map for registering server handlers
2020-10-12 16:34:12 -04:00
adnano
065ed828fb
Implement server certificate store
2020-10-11 23:48:18 -04:00
adnano
92af3df4c5
Update comments
2020-10-11 19:41:44 -04:00