I believe I've encountered a bug in wget.  When using https, if the
server does a renegotiation handshake wget fails trying to peek for
the application data.  This occurs because wget does not set the
openssl context mode  SSL_MODE_AUTO_RETRY.  When I added the line:
SSL_CTX_set_mode (ssl_ctx, SSL_MODE_AUTO_RETRY);
just after the line that sets PARTIAL_WRITE mode in ssl_init() in
openssl.c everything worked again.

To reproduce, set up an apache server that only does client
authentication for a protected directory.  When wget does the ssl
connect it negotiates the handshake.  However, when it sends the
request for the restricted directory the server will try to
renegotiate with a client authenticated handshake.  Wget will fail
trying to read the application data, and continually retry.

Jeremy

Reply via email to