| 304 | } |
| 305 | |
| 306 | OCSP_RESPONSE *modssl_dispatch_ocsp_request(const apr_uri_t *uri, |
| 307 | apr_interval_time_t timeout, |
| 308 | OCSP_REQUEST *request, |
| 309 | conn_rec *c, apr_pool_t *p) |
| 310 | { |
| 311 | OCSP_RESPONSE *response = NULL; |
| 312 | apr_socket_t *sd; |
| 313 | BIO *bio; |
| 314 | const apr_uri_t *proxy_uri; |
| 315 | |
| 316 | proxy_uri = (mySrvConfigFromConn(c))->server->proxy_uri; |
| 317 | bio = serialize_request(request, uri, proxy_uri); |
| 318 | if (bio == NULL) { |
| 319 | ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(01989) |
| 320 | "could not serialize OCSP request"); |
| 321 | ssl_log_ssl_error(SSLLOG_MARK, APLOG_ERR, mySrvFromConn(c)); |
| 322 | return NULL; |
| 323 | } |
| 324 | |
| 325 | sd = send_request(bio, uri, timeout, c, p, proxy_uri); |
| 326 | if (sd == NULL) { |
| 327 | /* Errors already logged. */ |
| 328 | BIO_free(bio); |
| 329 | return NULL; |
| 330 | } |
| 331 | |
| 332 | /* Clear the BIO contents, ready for the response. */ |
| 333 | (void)BIO_reset(bio); |
| 334 | |
| 335 | response = read_response(sd, bio, c, p); |
| 336 | |
| 337 | apr_socket_close(sd); |
| 338 | BIO_free(bio); |
| 339 | |
| 340 | return response; |
| 341 | } |
| 342 | |
| 343 | /* _________________________________________________________________ |
| 344 | ** |
no test coverage detected