Commit Graph
100 Commits
Author SHA1 Message Date
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 768664e0c5 Add ErrInputRequired and ErrCertificateRequired 2020-10-28 01:06:08 -04:00
Adnan Maolood 7a1a33513a Store a reference to the Request in Response 2020-10-28 00:21:27 -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 b84811668c Reject schemes other than gemini:// in NewRequest 2020-10-27 21:18:05 -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 9079be9019 Add ServeFile function 2020-10-27 13:32:48 -04:00
Adnan Maolood 79165833de Add (*ResponseWriter).WriteStatus function 2020-10-27 13:30:35 -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 192065d0e6 Add contributing instructions to README.md 2020-10-24 21:55:58 -04:00
Adnan Maolood 255eef9e31 Add import path to README.md 2020-10-24 16:58:35 -04:00
Adnan Maolood ca118681c0 Update documentation 2020-10-24 15:29:12 -04:00
Adnan Maolood 909e0c857a Update documentation link 2020-10-24 15:21:35 -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 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 e8fac2e6ed Update documentation 2020-10-21 15:57:04 -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 960ebd9b46 examples/server: Create certificates if they does not exist 2020-10-17 11:57:11 -04:00
adnano 849e261dc6 Add (Text).HTML function to render text to HTML 2020-10-15 00:38:05 -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 e9db805160 Prevent other packages from implementing Line 2020-10-13 20:33:38 -04:00
adnano 5f4b225f0d Update project name in LICENSE 2020-10-13 20:27:56 -04:00
adnano 7396bae85e Fix typo 2020-10-13 20:24:06 -04:00
adnano faf94d8ba5 Rename rw, req to w, r 2020-10-13 20:22:12 -04:00
adnano 67842c6425 Rename gemini.go to gmi.go 2020-10-13 20:10:18 -04:00
adnano 4189a4f717 Move errors to gemini.go 2020-10-13 20:10:04 -04:00
adnano 2c1081966d KnownHosts: use map instead of slice for underlying storage 2020-10-13 19:54:48 -04:00
adnano 92789dff19 Update comment 2020-10-13 19:11:59 -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 a0aa135534 Remove (*Request).Hostname function 2020-10-13 13:31:50 -04:00
adnano 4770ad9112 Rename (*KnownHosts).Load to LoadDefault 2020-10-12 16:56:55 -04:00
adnano 0bac966b23 Update documentation 2020-10-12 16:51:10 -04:00
adnano cbeb45ff0a Update documentation 2020-10-12 16:49:35 -04:00
adnano e75d028c05 Update README.md 2020-10-12 16:39:01 -04:00
adnano a33a5be063 Update documentation 2020-10-12 16:34:59 -04:00
adnano 2370c42d8d Use a map for registering server handlers 2020-10-12 16:34:12 -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 96390291bc Detect mimetypes 2020-10-11 20:13:53 -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 90c9f5da5b Update README.md 2020-10-11 15:23:41 -04:00
adnano a8b63b5982 Fix parsing of links without names 2020-09-29 21:27:16 -04:00
adnano fbc1f76194 Create the certificate store if it does not exist 2020-09-29 11:13:16 -04:00
adnano 8facfabec5 Add newlines after Gemini text lines 2020-09-29 10:16:55 -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 855eff6d88 Update README.md 2020-09-28 18:28:52 -04:00
adnano 5d0257ab6f Update documentation link 2020-09-28 18:22:18 -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 5a07b49ef5 Fix mux URL sorting logic 2020-09-28 15:33:15 -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 10760a256f Use net/http implementation of ServeMux 2020-09-28 03:15:19 -04:00
adnano b9b299485e Move vendored code to vendor.go 2020-09-28 02:29:32 -04:00
adnano b4eb62e849 Update comments 2020-09-28 02:28:28 -04:00
adnano 99940c7c8a Use splitHostPort function from net/url 2020-09-28 02:27:29 -04:00
adnano 11484b8215 Remove unused code 2020-09-28 02:17:56 -04:00
adnano be9d3d0fbf Update comments 2020-09-28 02:16:49 -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 aec4a5d7c9 Use WithCertificate helper in auth example 2020-09-28 01:14:29 -04:00
adnano f09b859370 Add WithCertificate helper function 2020-09-28 01:10:36 -04:00
adnano f093bf567f Remove unused import 2020-09-28 00:42:19 -04:00
adnano 956a2bad52 Remove NewCertificateStore function 2020-09-28 00:41:00 -04:00
adnano cad2d25185 Make the default client generate certificates 2020-09-28 00:38:11 -04:00
adnano 622ea8e0f1 Update documentation 2020-09-28 00:29:11 -04:00
adnano 21022eb5ac Remove log.Print call 2020-09-28 00:08:42 -04:00
adnano 13d2bd5fea Return certificate if it exists in the store 2020-09-28 00:03:42 -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 b7340aef27 Remove tilde from comment 2020-09-27 22:19:24 -04:00
adnano 365e94f06e Directly initialize DefaultClient 2020-09-27 22:18:21 -04:00
adnano 7ccf75ad43 Move DefaultClient up 2020-09-27 22:15:36 -04:00