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 Makefile.inc after I committed the first set. You can test it against the known servers list at gopher.floodgap.com if you like.

Thanks!

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 generic...

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.

--

 / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to