Commit Graph

135 Commits

Author SHA1 Message Date
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
adnano
7fdc28d5be Move filesystem code to its own file 2020-10-11 18:57:04 -04:00
adnano
2d11edaa4c Implement matching of hostnames and schemes 2020-10-11 17:53:22 -04:00
adnano
d7f515c0cb Implement parsing of Gemini text responses 2020-09-29 10:13:57 -04:00
adnano
b557ab379b Use path instead of filepath 2020-09-28 19:54:08 -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
5a07b49ef5 Fix mux URL sorting logic 2020-09-28 15:33:15 -04:00
adnano
10760a256f Use net/http implementation of ServeMux 2020-09-28 03:15:19 -04:00
adnano
11484b8215 Remove unused code 2020-09-28 02:17:56 -04:00
adnano
5edecf01a2 Update comments 2020-09-28 02:13:46 -04:00
adnano
b7e977f78a Don't trim trailing slash from Handler patterns 2020-09-28 02:06:15 -04:00
adnano
70c5d8b9ce Add WithInput helper functions 2020-09-28 02:05:37 -04:00
adnano
f09b859370 Add WithCertificate helper function 2020-09-28 01:10:36 -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
707ebf1c0c Add SetMimetype convenience function 2020-09-27 21:53:58 -04:00
adnano
5a0f7cf631 Trim trailing slash from Handler patterns 2020-09-27 21:24:08 -04:00
adnano
3c9821d812 Add more helper functions 2020-09-27 21:13:42 -04:00
adnano
fdf6bbc62f Add helper functions 2020-09-27 20:52:24 -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
a1a2523c5c Reject requests containing '..' in them 2020-09-26 17:13:13 -04:00
adnano
92a1dbbc0c Implement file server 2020-09-26 16:38:26 -04:00
adnano
d604e8c337 Specify minimum version of TLS 1.2 2020-09-26 00:31:16 -04:00
adnano
1f3587ba9d Distinguish client errors from server errors 2020-09-25 23:23:24 -04:00
adnano
2f43c191cc Reorganize 2020-09-25 19:09:49 -04:00
adnano
fdb7c9819e Move server code to its own file 2020-09-25 19:06:56 -04:00
adnano
63696fc7c8 Refactor 2020-09-24 00:30:21 -04:00
adnano
758e056952 Handle more than one request at a time 2020-09-24 00:26:30 -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
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
cc06e65b41 Add support for client-side certificates 2020-09-21 18:21:42 -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