diff --git a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike index 0f6794b2aa4628ffb2da17f998acaf4ebe316620..a4ec213b95f17fe245efccbd75709e706a82aff9 100644 --- a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike +++ b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike @@ -248,6 +248,11 @@ protected int ponder_answer( int|void start_position ) ok=1; remove_async_timeout(); TOUCH_TIMEOUT_WATCHDOG(); + if (con && con->set_timeout) { + // SSL connection. + con->set_timeout((data_timeout || timeout) && + (float)(data_timeout || timeout)); + } if (request_ok) request_ok(this,@extra_args); return 1; @@ -302,6 +307,8 @@ void start_tls(int|void blocking, int|void async) ssl->set_blocking(); } + ssl->set_timeout(timeout && (float)timeout); + if (!(ssl_session = ssl->connect(real_host, ssl_session))) { error("HTTPS connection failed.\n"); }