Commit Graph

142 Commits

Author SHA1 Message Date
Solderpunk
68e55d245a Add AV-98 contributors, in place of VF-1 contributors. 2020-05-17 17:57:34 +02:00
Solderpunk
991de05512 Immediately commit all changes to the TOFU DB, so it gets unlocked and multiple clients can access it at once. 2020-05-17 14:02:36 +02:00
Solderpunk
13f885c226 Make transient clients expire after 1 day, not 365! 2020-05-17 12:18:09 +02:00
Solderpunk
d1412377da Initial implementation of TOFU security model. 2020-05-16 18:58:53 +02:00
jprjr
78e0134c8a spec states meta max length is 1024 2020-05-16 13:59:05 +00:00
jprjr
0b79cd174f enforce a maximum header line length 2020-05-16 13:58:33 +00:00
Vee
c174836159 Add command to search GUS 2020-05-15 07:38:51 -04:00
Solderpunk
d828965979 Fix bug introduced when refactoring rcfile path wrangling. 2020-05-14 09:37:12 +02:00
Solderpunk
08bc6e2102 Don't do client certificates in restricted mode. 2020-05-12 22:23:22 +02:00
Solderpunk
8af6d9e478 Better presentation of query prompts. 2020-05-12 22:00:35 +02:00
Solderpunk
74d8511474 Properly escape query text before putting it into a URL. 2020-05-12 22:00:17 +02:00
Solderpunk
42e81ee859 Don't assume a gopher-to-gemini proxy is running on localhost by default. 2020-05-12 21:20:36 +02:00
Solderpunk
a05ecfad4f Add easy loading of previously generated certs. 2020-05-11 23:27:48 +02:00
Solderpunk
676ab85a9e Add support for transient client certificates. 2020-05-11 22:33:04 +02:00
Solderpunk
cf92e12653 Make locations of files more consistent. 2020-05-10 22:51:33 +02:00
Solderpunk
0d49b3e859 Put bookmark and rc files in same location as certificates. 2020-05-10 18:53:31 +02:00
Solderpunk
34cfa54de6 Tiny tweak to Macros -> Patlabor theme change. :) 2020-05-10 18:47:07 +02:00
Solderpunk
94e796ee5e Opt out of transient certs for now, better messaging about certificates. 2020-05-10 18:46:16 +02:00
Solderpunk
e0552df853 Add support for generating client certs (if openssl is installed). 2020-05-10 17:25:03 +02:00
Solderpunk
d4e9feebc5 Small bugfix. 2020-05-10 17:00:30 +02:00
Solderpunk
24563acf6d Give 'cert' command a menu interface, and trigger a similar interface in response to status codes 6x. 2020-05-10 16:09:54 +02:00
Solderpunk
b272a563cb Use ansiwrap if available. 2020-05-10 15:02:24 +02:00
Solderpunk
28cf34e585 Add version info. Closes #1. 2020-05-10 14:34:48 +02:00
Solderpunk
d8ef677ab1 Make sure supplied filenames exist. 2020-05-10 14:32:41 +02:00
Solderpunk
cbb7b3fd6c Offer to reload previously used certificates for domains visited earlier. 2020-05-10 14:19:12 +02:00
Solderpunk
d04c472600 Reduce code duplication. 2020-05-10 14:17:35 +02:00
Solderpunk
cd2faaa958 Fix input parsing bug. 2020-05-10 14:17:20 +02:00
Solderpunk
6cb9f6a65e Nicer prompts. 2020-05-10 14:17:07 +02:00
Solderpunk
3207f8b382 Reduce code duplication. 2020-05-10 13:48:25 +02:00
Solderpunk
6bb2e20e69 Try to prevent 'certificate leaks' when visiting a new domain with an active client cert. 2020-05-10 13:44:40 +02:00
Solderpunk
a2aff0d2a5 Move client certificate details out of the options dictionary and into their own, so that the 'cert' and 'set' commands don't become parallel interfaces to the same config. 2020-05-10 12:59:26 +02:00
Solderpunk
6d4c8e2dc9 First stab at putting an interactive interface on client certificates. 2020-05-10 12:35:46 +02:00
Solderpunk
f6f0c5d34a Various inscrutible TLS changes. 2020-04-12 21:20:29 +02:00
Solderpunk
8b3e77fa41 Add restricted mode for gemini.circumlunar.space kiosk. 2020-04-07 22:46:05 +02:00
Solderpunk
8e5e175a7e Fix TLS for Python 3.8. See #6. 2020-04-02 22:15:39 +02:00
Solderpunk
c934237cbe Enhance bookmarks command to accept a numeric index. Closes #4. 2020-03-24 20:41:37 +01:00
Michael Lazar
b078e4315d Add support for TLS client certificates 2020-03-22 22:12:00 -04:00
Solderpunk
a701145459 Handle unorderd items and headings. 2020-03-07 21:30:34 +01:00
Solderpunk
7f89b94f25 Handle preformatted content. 2020-03-07 21:11:49 +01:00
Solderpunk
6c017f3b96 Wrap long lines. 2020-02-03 21:34:17 +01:00
Solderpunk
c0f4c8eae4 Open HTTP(S) links in the system browser. 2019-11-05 19:58:04 +02:00
Solderpunk
0fdf9ac473 Don't clobber https scheme of absolute URLs when normalising. 2019-11-05 19:57:29 +02:00
Solderpunk
dc6c64c741 Fix redirect logic, and handle permanent redirects. 2019-10-15 22:12:32 +03:00
Solderpunk
8c5c779415 Permit manual control of redirects. 2019-10-14 19:47:02 +03:00
Solderpunk
a0e4acf352 Try not to get trapped by excessive or looping redirects. 2019-10-13 20:42:04 +03:00
lel
210d0459eb Simplify trailing slash handling to make going up work 2019-09-28 03:28:01 -04:00
lel
7997c40e94 Simplify handling of going up from root 2019-09-28 03:22:01 -04:00
lel
620800c9da Fix separate unrelated crash when going up from root 2019-09-28 02:40:18 -04:00
lel
3d8eecd346 Fix crash when going up from root 2019-09-28 02:39:42 -04:00
lel
12587685d4 Add newline to string formatting 2019-09-28 02:04:45 -04:00
Solderpunk
998b25cdb6 Try to get Python 3.4 working... 2019-08-25 16:26:45 +03:00
Solderpunk
7852a3f544 Fix bookmarking, again. 2019-08-18 23:29:45 +03:00
Solderpunk
afc4d7e8fd TLS hardening. 2019-08-18 22:59:49 +03:00
Solderpunk
f6a8f20a07 Fix bookmarking. 2019-08-18 22:32:34 +03:00
Solderpunk
ddb3a5a893 Detect unsupported schemes. 2019-08-14 21:16:58 +03:00
Solderpunk
3562a6db25 Make sure absolutisation of https links works correctly! 2019-08-14 21:16:46 +03:00
Solderpunk
1b7da02def Include TLS version in debug output. 2019-08-13 21:21:20 +03:00
Solderpunk
242cf484f0 Get tough on non-standard status codes! 2019-08-13 20:40:14 +03:00
Solderpunk
8dd08fa609 Fix silly syntax errors. 2019-08-13 20:39:55 +03:00
Solderpunk
518dadb31e Simplify and unify GeminiItem methods. 2019-08-13 20:36:58 +03:00
Solderpunk
b4623c0ccc Remove debugging print. 2019-08-13 20:24:20 +03:00
Solderpunk
6c8921a219 Avoid duplication of calls to of urlunparse. 2019-08-13 20:24:00 +03:00
Solderpunk
b75b1d94ff Initial implementation of input support. 2019-08-13 20:17:40 +03:00
Solderpunk
9c51f4b6b9 Call the part of the header after status meta, not mime. 2019-08-13 20:00:15 +03:00
Solderpunk
e7e296a959 Fix Input handling stub. 2019-08-13 19:58:20 +03:00
Solderpunk
9d9b044080 Simplify Exception handling a bit. Unlike in VF-1, we can't recover from network errors with redundant mirrors, so there's no need to separate network errors from other errors early on. 2019-08-13 19:58:05 +03:00
Solderpunk
a968fd3f92 Get rid of more vestigial colour stuff. 2019-08-13 19:56:38 +03:00
Solderpunk
d8d59f51e4 OOPify GeminiItems - makes interface code a bit tidier and concentrates all URL wrangling in one place. I *think* this makes things clearer. 2019-08-13 19:56:15 +03:00
Solderpunk
642117f553 Remove redundant mirror stuff, which doesn't exist in Gemini. 2019-08-13 18:11:29 +03:00
Solderpunk
1f1ab73fcf Expanded and more compliant handling of responses. 2019-08-13 18:09:29 +03:00
Solderpunk
13ddad1759 Enable IPv6 by default. 2019-08-13 13:04:39 +03:00
Solderpunk
eca5de5d0f Get rid of item type colour code stuff. 2019-08-13 13:04:26 +03:00
Solderpunk
c65b37c5c4 Make Gopher proxy configurable via 'set'. 2019-08-13 13:04:07 +03:00
Solderpunk
aa203b95ea Don't needlessly strip lines. 2019-08-12 21:49:18 +03:00
Solderpunk
f1ef1a1211 Fix hacking to include scheme in GeminiItems. 2019-08-12 21:48:57 +03:00
Solderpunk
9d7a40fb78 Permit non-tab whitespace in response header. 2019-08-12 21:48:33 +03:00
Solderpunk
ec38b5de4c Whoops! Set default proxy to localhost, not conman. Sorry, Sean... 2019-08-12 18:08:11 +03:00
Solderpunk
0f964b0128 Quick and dirty hack in of support for a Gopher proxy. 2019-08-12 17:14:42 +03:00
Solderpunk
d37eaae706 Don't include default ports in URL. 2019-08-11 23:24:37 +03:00
Solderpunk
1ba4ec5768 Updated status handling. 2019-08-11 22:26:30 +03:00
Solderpunk
67d3c2ed22 Change to new request format. 2019-08-11 22:26:14 +03:00
Solderpunk
0a77a03150 Don't put double /s into URLs. 2019-08-11 22:25:48 +03:00
Solderpunk
ce2cf8c5c4 Transition to new status system. 2019-08-08 21:23:58 +03:00
Solderpunk
0bea25fed5 Change to final link syntax. 2019-07-22 00:02:18 +03:00
Solderpunk
597c48f632 Change to new link syntax. 2019-06-24 22:26:53 +03:00
Solderpunk
2235f8f4b1 Fix do_root. 2019-06-22 20:24:06 +03:00
Solderpunk
104ba07a05 Minor restructuring. 2019-06-22 17:36:35 +03:00
Solderpunk
de3c418051 Record MIME type of current item, and use it in places where VF-1 would use the current GopherItem's itemtype. 2019-06-22 17:36:03 +03:00
Solderpunk
128080fd02 Get rid of more gopher-specific stuff we don't need. 2019-06-22 16:49:23 +03:00
Solderpunk
e779a45a35 Use text encoding declared in the response header, and treat decoding errors as fatal. 2019-06-22 16:29:14 +03:00
Solderpunk
50be14a327 Handle redirects and Not Found errors. 2019-06-22 16:02:11 +03:00
Solderpunk
b7a761365c Hasty initial conversion of VF-1. 2019-06-22 15:58:21 +03:00