Commit Graph
100 Commits
Author SHA1 Message Date
Adnan Maolood 41d5f8d31b Move documentation back to doc.go 2021-01-10 01:16:50 -05:00
Adnan Maolood 24026422b2 Update examples/stream.go 2021-01-10 01:13:07 -05:00
Adnan Maolood 5e977250ec Update comments 2021-01-10 01:07:38 -05:00
Adnan Maolood d8c5da1c7c Update link to documentation 2021-01-10 00:55:39 -05:00
Adnan Maolood d01d50ff1a Simplify ResponseWriter implementation 2021-01-10 00:50:35 -05:00
Adnan Maolood 3ed39e62d8 Rename status.Message to status.Meta 2021-01-10 00:10:57 -05:00
Adnan Maolood c8626bae17 client: Close connection for unsuccessful responses 2020-12-22 19:22:01 -05:00
Adnan Maolood 48fa6a724e examples/client: Fix fingerprint check 2020-12-19 13:44:33 -05:00
Adnan Maolood 80ffa72863 client: Verify expiration time 2020-12-19 13:43:47 -05:00
Adnan Maolood 61b417a5c4 Add ResponseWriter.Flush function 2020-12-18 13:15:34 -05:00
Adnan Maolood a912ef996a Add examples/stream.go 2020-12-18 12:31:37 -05:00
Adnan Maolood d9a690a98f Make NewResponseWriter take an io.Writer 2020-12-18 01:47:29 -05:00
Adnan Maolood 04bd0f4520 Update Request documentation 2020-12-18 01:43:18 -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 df1794c803 examples: Add missing descriptions 2020-12-18 00:47:30 -05:00
Adnan Maolood 5af1acbd54 examples/html: Read from stdin and write to stdout 2020-12-18 00:45:09 -05:00
Adnan Maolood 36c2086c82 Remove unnecessary variable 2020-12-18 00:35:08 -05:00
Adnan Maolood d52d0af783 Update QueryEscape documentation 2020-12-18 00:26:47 -05:00
Adnan Maolood 35836f2ff7 Remove Input function 2020-12-18 00:25:06 -05:00
Adnan Maolood 824887eab9 Remove Response.Request field 2020-12-18 00:19:53 -05:00
Adnan Maolood e2c907a7f6 client: Remove GetInput and CheckRedirect callbacks 2020-12-18 00:12:32 -05:00
Adnan Maolood a09cb5a23c Update switch statement 2020-12-17 23:03:33 -05:00
Adnan Maolood 7ca7053f66 client: Remove GetCertificate callback 2020-12-17 22:56:48 -05:00
Adnan Maolood ca35aadaea examples/auth: Fix crash on changing username 2020-12-17 21:10:53 -05:00
Adnan Maolood 805a80dddf Update GetCertificate documentation 2020-12-17 19:54:46 -05:00
Adnan Maolood 28c5c857dc Decouple Client from KnownHostsFile 2020-12-17 19:50:26 -05:00
Adnan Maolood 176b260468 Allow Request.Context to be nil 2020-12-17 17:16:55 -05:00
Adnan Maolood a1dd8de337 Fix locking up of KnownHostsFile and CertificateDir 2020-12-17 17:15:24 -05:00
Adnan Maolood 7be0715d39 Use RWMutex instead of Mutex 2020-12-17 17:08:45 -05:00
Adnan Maolood 4704b8fbcf Add missing imports 2020-12-17 17:07:00 -05:00
Adnan Maolood aeafd57956 Make CertificateDir safe for concurrent use by multiple goroutines 2020-12-17 16:52:08 -05:00
Adnan Maolood e687a05170 Make KnownHostsFile safe for concurrent use 2020-12-17 16:49:59 -05:00
Adnan Maolood 846fa2ac41 client: Add GetCertificate callback 2020-12-17 16:46:16 -05:00
Adnan Maolood 611a7d54c0 Revert to using hexadecimal to encode fingerprints 2020-12-16 23:58:02 -05:00
Adnan Maolood 16739d20d0 Fix escaping of queries 2020-11-27 22:27:52 -05:00
Adnan Maolood 24e488a4cb examples/server: Increase certificate duration 2020-11-27 17:54:26 -05:00
Adnan Maolood e0ac1685d2 Fix server name in TLS connections 2020-11-27 17:45:15 -05:00
Adnan Maolood 82688746dd Add context to requests 2020-11-26 00:42:25 -05:00
Adnan Maolood 3b9cc7f168 Update examples/auth.go 2020-11-25 19:10:01 -05:00
Adnan Maolood 3c7940f153 Fix known hosts expiration timestamps 2020-11-25 14:24:49 -05:00
Adnan Maolood 8ee55ee009 Fix certificate fingerprint check 2020-11-25 14:20:31 -05:00
Adnan Maolood 7ee0ea8b7f Use base64 to encode fingerprints 2020-11-25 14:16:51 -05:00
Adnan Maolood ab1db34f02 Fix client locking up on redirects 2020-11-24 21:49:24 -05:00
Adnan Maolood 35e984fbba Escape path character in certificate scopes 2020-11-24 20:24:38 -05:00
Adnan Maolood cab23032c0 Don't assume a default scheme of gemini 2020-11-24 17:13:52 -05:00
Adnan Maolood 4b653032e4 Make Client safe for concurrent use 2020-11-24 16:28:58 -05:00
Adnan Maolood 0c75e5d5ad Expose KnownHosts and CertificateStore internals 2020-11-23 12:17:54 -05:00
Adnan Maolood f6b0443a62 Update KnownHosts documentation 2020-11-09 13:57:30 -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 9338681256 Add (*KnownHosts).SetOutput function 2020-11-09 12:26:08 -05:00
Adnan Maolood f2a1510375 Move documentation to gemini.go 2020-11-09 12:07:49 -05:00
Adnan Maolood 46cbcfcaa4 Remove top-level Get and Do functions 2020-11-09 12:04:53 -05:00
Adnan Maolood 76dfe257f1 Remove (*KnownHosts).LoadDefault function 2020-11-09 09:28:44 -05:00
Adnan Maolood 5332dc6280 Don't guarantee that (*Response).Body is always non-nil 2020-11-08 18:38:08 -05:00
Adnan Maolood 6b3cf1314b Fix relative redirects 2020-11-07 23:43:07 -05:00
Adnan Maolood fe92db1e9c Allow redirects to non-gemini schemes 2020-11-06 11:18:58 -05:00
Adnan Maolood ff6c95930b Fix TOFU 2020-11-05 22:30:13 -05:00
Adnan Maolood a5712c7705 Don't check if certificate is expired 2020-11-05 18:35:25 -05:00
Adnan Maolood 520d0a7fb1 Don't redirect by default 2020-11-05 15:44:01 -05:00
Adnan Maolood bf185e4091 update examples/cert.go 2020-11-05 15:38:41 -05:00
Adnan Maolood 8101fbe473 Update examples/auth.go 2020-11-05 15:37:46 -05:00
Adnan Maolood b76080c863 Refactor KnownHosts 2020-11-05 15:27:12 -05:00
Adnan Maolood 53390dad6b Document CertificateOptions 2020-11-05 00:04:58 -05:00
Adnan Maolood cec1f118fb Remove some unnecessary errors 2020-11-04 23:46:05 -05:00
Adnan Maolood 95716296b4 Use ECDSA keys by default 2020-11-03 19:43:04 -05:00
Adnan Maolood 1490bf6a75 Update examples/auth.go 2020-11-03 16:29:39 -05:00
Adnan Maolood 610c6fc533 Add ErrorLog field to Server 2020-11-03 16:11:31 -05:00
Adnan Maolood 01670647d2 Add Subject option in CertificateOptions 2020-11-02 23:11:46 -05:00
Adnan Maolood 5b3194695f Store request certificate to prevent infinite loop 2020-11-02 13:47:07 -05:00
Adnan Maolood b6475aa7d9 server: Populate (*Request).Certificate field 2020-11-01 16:25:59 -05:00
Adnan Maolood cc372e8768 Prevent infinite loop in client requests 2020-11-01 15:14:56 -05:00
adnano 8e442146c3 Update examples/auth.go 2020-11-01 14:47:26 -05:00
adnano e4dea6f2c8 Refactor Certificate and Input functions 2020-11-01 14:35:03 -05:00
adnano b57ea57fec Don't expose DefaultClient 2020-11-01 14:27:49 -05:00
adnano c3fc9a4e9f examples: Tweak client and server timeouts 2020-11-01 14:20:24 -05:00
adnano 22d57dfc9e Update examples/cert.go 2020-11-01 14:19:18 -05:00
Adnan Maolood 12bdb2f997 Update examples/html.go 2020-11-01 00:58:34 -04:00
Adnan Maolood 7fb1b6c6a4 Update documentation 2020-11-01 00:10:30 -04:00
Adnan Maolood 0d3230a7d5 Rename InsecureTrustAlways to InsecureSkipTrust 2020-10-31 23:41:30 -04:00
Adnan Maolood 79b3b22e69 Update documentation 2020-10-31 23:05:31 -04:00
Adnan Maolood 33c1dc435d Guarantee that (*Response).Body is non-nil 2020-10-31 23:04:47 -04:00
Adnan Maolood dad8f38bfb Fix examples/client.go 2020-10-31 22:50:42 -04:00
Adnan Maolood 8181b86759 Add option to skip trust checks 2020-10-31 22:45:21 -04:00
Adnan Maolood 65a5065250 Refactor client.TrustCertificate workflow 2020-10-31 22:34:51 -04:00
Adnan Maolood b9cb7fe71d Update log.Printf calls 2020-10-31 21:33:59 -04:00
Adnan Maolood 7d470c5fb1 Implement Server read and write timeouts 2020-10-31 21:07:02 -04:00
Adnan Maolood 42c95f8c8d Implement Client connection timeout 2020-10-31 20:55:56 -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 eb466ad02f Add ParseLines function 2020-10-29 09:42:53 -04:00
Adnan Maolood 66e4dc86d5 Add optional host argument in examples/client.go 2020-10-28 16:50:17 -04:00
Adnan Maolood 5e4a38dccb Fix documentation 2020-10-28 16:04:14 -04:00
Adnan Maolood b5fbd197a1 Update documentation 2020-10-28 16:02:04 -04:00