Commits
- Commit:
0082f4263cebb5303ddc4ef027a0bc6b79bbe50a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
imsg: allow fdpass on the net socket
it's used to pass the client certificate to the net process so has to
be enabled.
Issue <https://github.com/telescope-browser/telescope/issues/21>
spotted by linuxcult; thank you!
- Commit:
c8b8dc5c502e3b69cc28f29c0a9570a8378488c6
- From:
- Omar Polo <op@omarpolo.com>
- Date:
update imsg
- Commit:
7a7f8f400c9b3846ce2acf12abc6c3f800747e65
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix display of certificate selection prompt
- Commit:
4575b59cd4c4d3de74252e38167171c2cd3cdc6e
- From:
- "Omar Polo" <"op@omarpolo.com">
- Via:
- Omar Polo <op@omarpolo.com>
- Date:
open unknown protocols with the default opener
- Commit:
4660114dd3cb06024ba558f864c0c9fbde26eb0d
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fmt
- Commit:
057e7eb6f1bc703a5d90e6ca41a5506008b850e9
- From:
- Omar Polo <op@omarpolo.com>
- Date:
make yornp data be a void pointer instead of a tab
- Commit:
3d89457cdeba5041aa6f0c1f8640b91bcbb6ec51
- From:
- Thomas Adam <thomas.adam22@gmail.com>
- Date:
code: add wrappers for common failure cases
Certain calls to well-known functions sometimes result in similar
error handling across the code base. Sometimes there's a need to
centralise the failure case.
Achieve this for common wrappers to often-used functions.
The transformation is achieved via coccinelle, commited with this patch.
Note that coccinelle can be told to ignore code blocks with comment
delimiters.
This transformation applies just to telescope's code, and not any of the
bundled depdencies in telescope (libgrapheme).
- Commit:
c1d27b0e114e6a65f7979971940df212f00bb2ae
- From:
- Omar Polo <op@omarpolo.com>
- Date:
untangle a bit buffers and parsers
Now buffers have a nicer interface, taking explicitly the buffer
where they push stuff, and the code that deals with buffers doesn't
need to peek into the parsers. The parsers now are 'pure' structs
without state attached to them, the state was moved to the buffer.
- Commit:
2b1f89306cb04bce40fc6f8ece381ba535e30754
- From:
- Thomas Adam <thomas.adam22@gmail.com>
- Date:
feature: remove external-cmd
Now that telescope understands mailcap, there's no need for the use of
external-cmd any longer.
- Commit:
7b7a69f2aeeffb5436fd490f2020335b5bf9a121
- From:
- Thomas Adam <thomas.adam22@gmail.com>
- Date:
update telescope to make use of mailcap
Change telescope to make use of mailcap entries.
Commands are no longer prompted for how to handle an unknown mime-type.
Commands are now executed via execvp(), and the mailcap handling assumes
this as part of its interface.
- Commit:
3f134805a58ef352e1687d00aae8536bee9c47d4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
remove signal(SIGCHLD); we want to wait for the editor
- Commit:
4e32d3a6c187dd9646ba4aa80a69082adf3b3c46
- From:
- Thomas Adam <thomas.adam22@gmail.com>
- Date:
ui: add capability to run external cmds
When telescope encounters a file type which it cannot display it prompts
the user whether they wish to save the file, or not.
This patch extends this idea -- if the file is saved, then the user is
prompted to run a command against that downloaded file.
This controllable via the 'external-cmd' setting. It defaults to
'xdg-open'.
This is based off work originally started by op@.
- Commit:
5d7d3b89d8de1f35b53143094b9cd4a5b085aefd
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use parser_*() wrappers rather than calling the methods directly
- Commit:
b1ccf425c267a3ff070ae66a77ea57a1e0b538e3
- From:
- Omar Polo <op@omarpolo.com>
- Date:
warn also when a download could have been interrupted
- Commit:
a3e4d56b6d9bcfca48f3d8c8f1e526e95b0c2f64
- From:
- Thomas Adam <thomas.adam22@gmail.com>
- Date:
tls: guard against faulty gemini servers
Some gemini servers have faulty TLS handling, such as:
gg: tls_close: EOF without close notify
In such cases, telescope will receive that error and naturally assume
there was a problem and stop processing. However, in the case of there
still being legitimate content read from the request, this should still
be displayed, rather than ignored.
This change therefore detects this condition and adds a status of 'W' to
telescope's modeline to indicate that the information presented is from
a faulty gemini server and could be truncated and hence display oddly.
- Commit:
87d297d14e29cf2c5a8a11b8f4db518d9217e337
- From:
- Omar Polo <op@omarpolo.com>
- Date:
move imsgev & co to their own file
This avoids bringing the dependency on ev on telescope-identity(1) and
the tests as well.
- Commit:
62c0f697ddc7396384280f2f8bac7a092700f1ba
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix handling of gopher selectors
Much of telescope works in terms of URI, so we convert each gopher
link to an URI. However, we didn't urlencode the path parameter,
thus failing on every link that contains spaces or similar invalid
(in URI paths) characters.
Issue reported by hryjksn on github, thanks!
https://github.com/omar-polo/telescope/issues/14
- Commit:
98d3e6c172747dc58042bde09a848d3e03572934
- From:
- Omar Polo <op@omarpolo.com>
- Date:
convert telescope to use ev instead of libevent
libevent is a very cool library, I like the APIs and enjoy using
it. However, telescope is not as large and doesn't have as many
file descriptor, so libevent is quite ``too big'' for our needs.
ev started as a small event loop on top of poll(2) for amused, and
can be used here too, it just needed to grow the ability to handle
several timers, as we need quite some on telescope (in fact, we use
more timers than fds!)
- Commit:
b8ec3578cd7c8dd902282fa1253fffc74fd615f0
- From:
- Omar Polo <op@omarpolo.com>
- Date:
catch fs_init() and certs_init() failures
- Commit:
71bc16365736f1cc3212d46f3947806c1e33867b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add client_cert_temp flag to the struct tab
This way we can improve unload-certificate prompt. While here,
move the cert handling in make_request().
- Commit:
d163c2104eb8f8603c4dfc4c9ad566511eac143b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
move tofu declarations to their own header
While here replace GEMINI_URL_LEN with TOFU_URL_MAX_LEN to avoid a
dependency on telescope.h. Ideally, we should move this stuff to
another header that comes with less dependencies.
- Commit:
f7db6d139bba0fb56f0560533b77af219958ecc0
- From:
- Omar Polo <op@omarpolo.com>
- Date:
some headers cleanup
try to not include headers from headers, and remove some redundant
include.
This helps in modularizing the codebase and also helps during
incremental compilations.
- Commit:
d252d87ccdef3bf3619959f93601a9e74ffcc28f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
include cmd.h only where it is really needed
- Commit:
5a39f5931f4b5be1d57d75c7f25cff8adae5f235
- From:
- Omar Polo <op@omarpolo.com>
- Date:
load and optionally remember client certificates
This adds use-certificate, a user function to start using a certificate
or switch to a different one. It asks whether to persist the
certificate, if not it will only be used for the current session.
use-certificate is implicitly called when the server replies with
a 6x status code.
- Commit:
d35e18b31b0e05c6178a6bfa891dd2e2dadf3db1
- From:
- Omar Polo <op@omarpolo.com>
- Date:
first draft of client certificate support
At the moment telescope loads a mapping host:port/path -> certificate
from a file and always uses it, no ways to change it, use a temporary
one, generate a new one, etc are provided yet.
The format of ~/.telescope/certs/certs is
host port path certificate file name
where the certificate file name is the name of a file inside
~/.telescope/certs.
~/.telescope/certs/ is ~/.local/share/telescope/ when using XDG.