23#ifndef OPENSSL_NO_OCSP
48 "Content-Type: application/ocsp-request\r\n"
49 "Connection: close\r\n"
50 "Content-Length: %d\r\n"
52 uri->path ?
uri->path :
"/",
53 uri->query ?
"?" :
"",
uri->query ?
uri->query :
"",
90 "could not resolve address of %s %s",
91 proxy_uri ?
"proxy" :
"OCSP responder",
98 "connecting to %s '%s'",
99 proxy_uri ?
"proxy" :
"OCSP responder",
118 "could not connect to %s '%s'",
119 proxy_uri ?
"proxy" :
"OCSP responder",
126 "sending request to OCSP responder");
143 "failed to send request to OCSP responder '%s'",
166 "failed reading line from OCSP server");
173 "failed reading line from OCSP server");
179 "empty response from OCSP server");
185 "response header line too long from OCSP server");
198#define MAX_HEADERS (256)
199#define MAX_CONTENT (2048 * 1024)
220 if (!line ||
strncmp(line,
"HTTP/", 5)
224 "bad response from OCSP server: %s",
225 line ? line :
"(none)");
236 "OCSP response header: %s", line);
241 "could not read response headers from OCSP server, "
247 "could not read response header from OCSP server");
262 "OCSP response: got EOF");
267 "error reading response from OCSP server");
279 "OCSP response size exceeds %u byte limit",
297 if (response ==
NULL) {
299 "failed to decode OCSP response data");
320 "could not serialize OCSP request");
407 if (!
mctx->ocsp_certs_file) {
412 "Configuring Trusted OCSP certificates");
416 if (!
mctx->ocsp_certs) {
418 "Unable to configure OCSP Trusted Certificates");
const char apr_size_t len
APR-UTIL Buckets/Bucket Brigades.
const unsigned char * buf
#define APR_BRIGADE_INSERT_TAIL(b, e)
#define APR_BRIGADE_EMPTY(b)
#define apr_bucket_delete(e)
#define APR_BRIGADE_FIRST(b)
#define apr_bucket_read(e, str, len, block)
apr_memcache_server_t * server
apr_status_t ssl_die(server_rec *s)
#define mySrvConfigFromConn(c)
OCSP_RESPONSE * modssl_dispatch_ocsp_request(const apr_uri_t *uri, apr_interval_time_t timeout, OCSP_REQUEST *request, conn_rec *c, apr_pool_t *p)
void ssl_log_ssl_error(const char *file, int line, int level, server_rec *s)
void ssl_init_ocsp_certificates(server_rec *s, modssl_ctx_t *mctx)
const char apr_file_t * file
apr_vformatter_buff_t * c
apr_int32_t apr_int32_t apr_int32_t err
apr_int64_t apr_interval_time_t
Internal interfaces private to mod_ssl.
static BIO * serialize_request(OCSP_REQUEST *req, const apr_uri_t *uri, const apr_uri_t *proxy_uri)
static char * get_line(apr_bucket_brigade *bbout, apr_bucket_brigade *bbin, conn_rec *c, apr_pool_t *p)
static OCSP_RESPONSE * read_response(apr_socket_t *sd, BIO *bio, conn_rec *c, apr_pool_t *p)
static apr_socket_t * send_request(BIO *request, const apr_uri_t *uri, apr_interval_time_t timeout, conn_rec *c, apr_pool_t *p, const apr_uri_t *proxy_uri)
Structure to store things which are per connection.
A structure to store information for each virtual server.
apr_status_t apr_socket_send(apr_socket_t *sock, const char *buf, apr_size_t *len)
apr_status_t apr_socket_close(apr_socket_t *thesocket)
apr_status_t apr_socket_connect(apr_socket_t *sock, apr_sockaddr_t *sa)
apr_status_t apr_socket_create(apr_socket_t **new, int ofamily, int type, int protocol, apr_pool_t *cont)
apr_status_t apr_socket_timeout_set(apr_socket_t *sock, apr_interval_time_t t)