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