----------------------------------------
Which gopher daemons have been patched to fix the hURL issue?
February 27th, 2024
----------------------------------------

So if you've been following my phlog, you'll see that I discovered that
most gopher daemons implementing the hURL hack have done so in a rather
haphazard manner, both failing to produce proper URLs (certain reserved
characters MUST be percent encoded) and to produce proper HTML (reserved
characters MUST be HTML entities less they are interpreted as HTML).

Here's where we stand right now with various servers:
bucktooth - fixed, breaking change
geomyidae - fixed, breaking change
gophernicus - broken
pygopherd (python3) - fixed
motsognir - NOT fixed (yet?).

Now you'll notice that I have labeled bucktooth and geomyidae's fix as
a "breaking change", this is because with these gopher servers, if you
are using one of the reserved characters in a URL in gophermap, that URL
will no longer generate a hURL page after the update: until you update
the gophermap to have the characters percent encoded. As for gophernicus
and pygopherd they will do the percent encoding for you; meaning the fix
is absolutely painless for users of those daemons.


BTW, now is a good time to mention (as geomyidae now does!): The hURL
hack is stupid. Very stupid. Please stop using it; we've had a gopher-
native URL scheme that is much better since 1992. It is type w. As-of
NOW gopher.zcrayfish.soy will return type w if you're connecting via
IPv6. If you're connecting via IPv4, I'll still send the hURL hack for
now, but seriously, as clients are updated to support IPv6, they need to
have type w patched in as well.

And as for gopher servers generating HTML pages, consider generating
XHTML pages with an XML declaration, clients that are served these pages
and support XML will stop parsing and print an error in the event that
someone manages to pull off an attack of this type...

Edit 28 Feb: Just don't use gophernicus. The patch is broken.
----------------------------------------

=> Back to phlog index | gopher.zcrayfish.soy gopher root

The wheel has been reinvented 639 times.

=> Comments are enabled for this post, select here to leave yours

Nobody has commented on this post.
Proxy Information
Original URL
gemini://gopher.zcrayfish.soy/1/phlog/20240227-which-gopher-daemons-have-been-patched-to-fix-the-hurl-issue
Status Code
Success (20)
Meta
text/gemini;
Capsule Response Time
580.886629 milliseconds
Gemini-to-HTML Time
0.304152 milliseconds

This content has been proxied by September (ba2dc).