2 * Copyright 2007-2020 The OpenSSL Project Authors. All Rights Reserved.
3 * Copyright Siemens AG 2018-2020
5 * Licensed under the Apache License 2.0 (the "License"). You may not use
6 * this file except in compliance with the License. You can obtain a copy
7 * in the file LICENSE in the source distribution or at
8 * https://www.openssl.org/source/license.html
11 #ifndef OSSL_CRYPTO_HTTP_LOCAL_H
12 # define OSSL_CRYPTO_HTTP_LOCAL_H
14 # include <openssl/ocsp.h>
16 /* name aliases for legacy names with name prefix "OCSP_" */
17 typedef OCSP_REQ_CTX OSSL_HTTP_REQ_CTX
;
18 /* functions meanwhile only used internally */
19 # define OSSL_HTTP_REQ_CTX_new OCSP_REQ_CTX_new
20 # define OSSL_HTTP_REQ_CTX_free OCSP_REQ_CTX_free
21 # define OSSL_HTTP_REQ_CTX_header OCSP_REQ_CTX_http
22 # define OSSL_HTTP_REQ_CTX_add1_header OCSP_REQ_CTX_add1_header
23 # define OSSL_HTTP_REQ_CTX_i2d OCSP_REQ_CTX_i2d
24 # define OSSL_HTTP_REQ_CTX_nbio OCSP_REQ_CTX_nbio
25 # ifndef OPENSSL_NO_SOCK
26 # define OSSL_HTTP_REQ_CTX_sendreq_d2i OCSP_REQ_CTX_nbio_d2i
28 /* functions that are meanwhile unused */
29 # define OSSL_HTTP_REQ_CTX_get0_mem_bio OCSP_REQ_CTX_get0_mem_bio /* undoc'd */
30 # define OSSL_HTTP_REQ_CTX_set_max_response_length OCSP_set_max_response_length
32 BIO
*HTTP_asn1_item2bio(const ASN1_ITEM
*it
, ASN1_VALUE
*val
);
33 OSSL_HTTP_REQ_CTX
*HTTP_REQ_CTX_new(BIO
*wbio
, BIO
*rbio
, int use_http_proxy
,
34 const char *server
, const char *port
,
36 const STACK_OF(CONF_VALUE
) *headers
,
37 const char *content_type
, BIO
*req_mem
,
38 int maxline
, unsigned long max_resp_len
,
40 const char *expected_content_type
,
42 ASN1_VALUE
*HTTP_sendreq_bio(BIO
*bio
, OSSL_HTTP_bio_cb_t bio_update_fn
,
43 void *arg
, const char *server
, const char *port
,
44 const char *path
, int use_ssl
, int use_proxy
,
45 const STACK_OF(CONF_VALUE
) *headers
,
46 const char *content_type
,
47 ASN1_VALUE
*req
, const ASN1_ITEM
*req_it
,
48 int maxline
, unsigned long max_resp_len
,
49 int timeout
, const ASN1_ITEM
*rsp_it
);
51 #endif /* !defined OSSL_CRYPTO_HTTP_LOCAL_H */