-
-
Notifications
You must be signed in to change notification settings - Fork 6.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement secure gopher protocol. #6208
Conversation
735e7ad
to
96cd68d
Compare
As for manual testing, it can be tested with servers that support TLS:
|
Sorry, I disagree. So far there is no specification for it. |
Ping @sebdeckers, maybe interesting for you? |
TIMTOWTDI 🤷🏼♂️ Been a few months since I looked into that discussion. Has anyone begun the IETF legwork to discuss/propose a Gopher with TLS spec? I've seen a bunch of approaches with pros/cons. |
I would prefer to not do the discussion here, but as far as I know there hasn't been any progress made mostly due to backwards compatibility issues |
There are no compatibility issues with my patch and proposal. Daemons like geomyidae already implement this specific proposal. |
96cd68d
to
da82f76
Compare
This commit introduces a "gophers" handler inside the gopher protocol if USE_SSL is defined. This protocol is no different than the usual gopher prococol, with the added TLS encapsulation upon connecting. The protocol has been adopted in the gopher community, and many people have enabled TLS in their gopher daemons like geomyidae(8), and clients, like clic(1) and hurl(1). I have not implemented test units for this protocol because my knowledge of Perl is sub-par. However, for someone more knowledgeable it might be fairly trivial, because the same test that tests the plain gopher protocol can be used for "gophers" just by adding a TLS listener. Signed-off-by: parazyd <parazyd@dyne.org>
da82f76
to
a249d89
Compare
I disagree. For me, even without a URL spec - if there is an adopted URL syntax already with both consumers and providers, that fact puts the code and suggestion in different angle. @parazyd do you perhaps even already have this TLS version of the URI format documented somewhere for reference? |
I volunteer to extend the test suite for gophers. |
@bagder If it makes sense, could you push to this branch and then we can make it a more complete merge request? |
Yes, once I have something to show! |
One commit that adds support for 'gophers' to the test suite. The second one provides an initial test case: that's test 1200 just updated to do gophers instead. |
related: you should consider registering the gophers URI scheme at https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml |
coming back to this: now we have a Anything else that needs to be done before we merge? |
I think we're all set if that is added :) |
Thanks! |
This commit introduces a "gophers" handler inside the gopher protocol if
USE_SSL is defined. This protocol is no different than the usual gopher
prococol, with the added TLS encapsulation upon connecting. The protocol
has been adopted in the gopher community, and many people have enabled
TLS in their gopher daemons like geomyidae(8), and clients, like clic(1)
and hurl(1).
I have not implemented test units for this protocol because my knowledge
of Perl is sub-par. However, for someone more knowledgeable it might be
fairly trivial, because the same test that tests the plain gopher
protocol can be used for "gophers" just by adding a TLS listener.
Signed-off-by: parazyd parazyd@dyne.org