[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Strange interaction between UM Gopher and Gophernicus




My reply is at the bottom.  Please put your reply there too.
On Fri, 22 Nov 2019, Kim Holviala wrote:
On 22. Nov 2019, at 1.37, David Griffith <dave@661.org> wrote:

I think I found a smoking gun. When Gophernicus serves up a directory containing a gophermap file, the selector is separated from the rest of the line by tab characters.

Original author of Gophernicus here. You are all arguing about the wrong thing here: the "problem" is that gopher the protocol has no concept of filename so clients just have to guess one when saving files to disk. This mirrors the problems in HTTP and MIME emails - originally they also didn't have a concept of filenames so saving a file was always a hit or miss (and it still is, kinda, because not all URLs or email attachments come with a filename).

Yes, Gophernicus interprets the gopher RFC "slightly" broadly and uses the name field to give additional information to human users, downside being that computer users might get confused. But it's not against the RFC, just a different interpretation of it.

Where should we go from here? I've been trying to find an example of a gopher server that provides dates and filesizes in menus as a guide, but haven't found one yet. After I discovered this "smoking gun", I thought that adding a tab after the filename would work. I'm looking at menu.c from lines 656 to the end. Line 666 is the printf() that produces a line containing date and filesize.

    printf("%c%s%s  %s %s\t%s%s\t%s\t%i" CRLF, type,

If I change that line to this:

    printf("%c%s\t%s  %s %s\t%s%s\t%s\t%i" CRLF, type,
                ^^

This results in UM Gopher omitting the date and size. Floodgap's proxy won't render anything. Clearly then, UM Gopher is the one with the problem -- other clients don't act like this. So now I have three questions:

1.  What are the other clients doing to determine the end of the filename?

2.  Did any other servers provide date and filesize?

3. Where can I find source code to historical gopher servers that were in service in the early 1990s?


--
David Griffith
dave@661.org

A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?


Reply to: