Hello all, hello Andreas!
Andreas Bernauer writes:
> We had problems getting IE work with our SUnet FTP server, too. I
> don't have IE available currently, but I can look into the problem
> next week. I suspect the problem lies with the closing/not closing
> of the POST data channel. What you can try is to close / not close
> the POST data channel after receiving data (depending on how it is
> curerntly done in SURflets).
Closing the request's input-port (in `get-bindings') results in a core
dump of the SUNet server. Ouch!
But your hint regarding the FTP server was very helpful. I browsed
ftpd's code and saw there a comment about a bug in Internet Explorer
exposed by disabling buffering of the socket port.
Well, it turns out that the HTTP server *does* disable buffering of
the socket's input port (file "httpd/core.scm", procedure `httpd'),
with the comment:
;; If there is buffering for the input,
;; CGI scripts don't get the full request
If I comment out the call to `set-port-buffering', surflets using the
POST method work fine with IE.
But then, CGI scripts would probably stop working (I didn't test
this). It seems that one would have to turn buffering off only for
the surflet handler, but I don't know the code enough to be able to do
this change. I'm thankful for suggestions :-).