=== modified file 'lib/http_client.c'
|
|
|
198 | 198 | int evil_server = 0; |
199 | 199 | char buffer[2048]; |
200 | 200 | char *end1, *end2; |
201 | | int st; |
| 201 | int st, gnutls3_workaround = FALSE; |
202 | 202 | |
203 | 203 | if( req->inpa > 0 ) |
204 | 204 | b_event_remove( req->inpa ); |
… |
… |
|
218 | 218 | |
219 | 219 | goto got_reply; |
220 | 220 | } |
| 221 | else |
| 222 | { |
| 223 | gnutls3_workaround = TRUE; |
| 224 | } |
221 | 225 | } |
222 | 226 | else if( st == 0 ) |
223 | 227 | { |
… |
… |
|
253 | 257 | req->ssl ? ssl_getdirection( req->ssl ) : B_EV_IO_READ, |
254 | 258 | http_incoming_data, req ); |
255 | 259 | |
256 | | if( ssl_pending( req->ssl ) ) |
| 260 | if( !gnutls3_workaround && ssl_pending( req->ssl ) ) |
257 | 261 | return http_incoming_data( data, source, cond ); |
258 | 262 | else |
259 | 263 | return FALSE; |