cURL / Mailing Lists / curl-library / Single Mail


Re: Gopher support for cURL (patches)

From: Daniel Stenberg <>
Date: Thu, 12 Aug 2010 23:45:01 +0200 (CEST)

On Thu, 12 Aug 2010, Cameron Kaiser wrote:

> Two patches are attached, the main one, and a quickie where I noticed that I
> forgot gopher.h in after I committed the first set. You can
> test it against the known servers list at if you like.


I have only two remarks (apart from "the patch is remarkably small" ;-):

1 - Curl_sendf() sends data non-blocking and it may very well not send the
entire buffer at once. I suspect you can trigger this problem by sending an
awful lot of requests with very long paths. A possible solution to this would
be to use the Curl_add_buffer_init(), Curl_add_bufferf() and
Curl_add_buffer_send() which is done by the HTTP code to send requests. It
will probably require some further adjustments of the gopher code to look more
HTTPish or for the Curl_add_buffer-functions to become slightly more

2 - One of the primary reasons Gopher dropped off libcurl's chart in the first
place (removed for sure in January 2006 btw if anyone cares) is that we didn't
have any test cases for it and we apparently didn't have many users of it
since it broke and we had it broken for many moons before we found out. So, I
think we shouldn't underestimate the value of having a few test cases setup
for it. And given the protocol's simplicity and the "stupidity" of our HTTP
test server, I believe we can perhaps add a gopher mode for that and have it
serve gopher for this purpose.

List admin:
Received on 2010-08-12