diff options
| author | Stefan Eissing <icing@apache.org> | 2021-03-26 11:27:34 +0000 |
|---|---|---|
| committer | Stefan Eissing <icing@apache.org> | 2021-03-26 11:27:34 +0000 |
| commit | 587d17015167f442c98efaf497504fe3825a3fe7 (patch) | |
| tree | b0eef6fc010df94ef358fb3b00e205bea1b27c87 /include/http_protocol.h | |
| parent | 0bc464744b44f182dc0e3276d44a077ec44a1367 (diff) | |
| download | httpd-587d17015167f442c98efaf497504fe3825a3fe7.tar.gz | |
*) core: provide ap_ssl_* functions in new http_ssl.h header file.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1888083 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/http_protocol.h')
| -rw-r--r-- | include/http_protocol.h | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/include/http_protocol.h b/include/http_protocol.h index 30faa131a9..9c9cb952b2 100644 --- a/include/http_protocol.h +++ b/include/http_protocol.h @@ -1048,162 +1048,6 @@ AP_DECLARE(void) ap_finalize_sub_req_protocol(request_rec *sub_r); AP_DECLARE(void) ap_send_interim_response(request_rec *r, int send_headers); -/** - * Setup optional functions for ssl related queries so that functions - * registered by old-style SSL module functions are interrogated by the - * the new ap_is_ssl() and friends. Installs own optional functions, so that - * old modules looking for these find one and get the correct results (shadowing). - * - * Needs to run in core's very early POST_CONFIG hook. - * Modules providing such functions register their own optionals during - * register_hooks(). Modules using such functions retrieve them often - * in their own post-config or in the even later retrieval hook. When shadowing - * other modules functions, core's early post-config is a good time. - * @param pool The pool to use for allocations - */ -AP_DECLARE(void) ap_setup_ssl_optional_fns(apr_pool_t *pool); - -/** - * This hook allows modules that manage SSL connection to register their - * inquiry function for checking if a connection is using SSL from them. - * @param c The current connection - * @return OK if the connection is using SSL, DECLINED if not. - * @ingroup hooks - */ -AP_DECLARE_HOOK(int,ssl_conn_is_ssl,(conn_rec *c)) - -/** - * This hook allows modules to look up SSL related variables for a - * server/connection/request, depending on what they inquire. Some - * variables will only be available for a connection/request, for example. - * @param p The pool to allocate a returned value in, MUST be provided - * @param s The server to inquire a value for, maybe NULL - * @param c The current connection, maybe NULL - * @param r The current request, maybe NULL - * @param name The name of the variable to retrieve, MUST be provided - * @return value or the variable or NULL if not provided/available - * @ingroup hooks - */ -AP_DECLARE_HOOK(const char *,ssl_var_lookup, - (apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r, const char *name)) - -/** - * Return != 0 iff the connection is encrypted with SSL. - * @param c the connection - */ -AP_DECLARE(int) ap_ssl_conn_is_ssl(conn_rec *c); - -/** - * Lookup an SSL related variable for the server/connection/request or a global - * value when all those parameters are set to NULL. Pool and name must always be - * provided and the returned value (if not NULL) will be allocated fromt he pool. - * @param p The pool to allocate a returned value in, MUST be provided - * @param s The server to inquire a value for, maybe NULL - * @param c The current connection, maybe NULL - * @param r The current request, maybe NULL - * @param name The name of the variable to retrieve, MUST be provided - * @return value or the variable or NULL if not provided/available - */ -AP_DECLARE(const char *) ap_ssl_var_lookup(apr_pool_t *p, server_rec *s, - conn_rec *c, request_rec *r, - const char *name); - -/** - * Register to provide certificate/key files for servers. Certificate files are - * exepcted to contain the certificate chain, beginning with the server's certificate, - * excluding the trust anchor, in PEM format. - * They must be accompanied by a private key file, also in PEM format. - * - * @param s the server certificates are collected for - * @param p the pool to use for allocations - * @param cert_file and array of const char* with the path to the certificate chain - * @param key_file and array of const char* with the path to the private key file - * @return OK if files were added, DECLINED if not, or other for error. - */ - -AP_DECLARE_HOOK(int, ssl_add_cert_files, (server_rec *s, apr_pool_t *p, - apr_array_header_t *cert_files, - apr_array_header_t *key_files)) - -/** - * Collect certificate/key files from all providers registered. This includes - * providers registered at the global 'ssl_add_cert_files', as well as those - * installed in the OPTIONAL 'ssl_add_cert_files' hook as may be provided by - * ssl modules. - * - * @param s the server certificates are collected for - * @param p the pool to use for allocations - * @param cert_file and array of const char* with the path to the certificate chain - * @param key_file and array of const char* with the path to the private key file - */ -AP_DECLARE(apr_status_t) ap_ssl_add_cert_files(server_rec *s, apr_pool_t *p, - apr_array_header_t *cert_files, - apr_array_header_t *key_files); - - -/** - * Register to provide 'fallback' certificates in case no 'real' certificates - * have been configured/added by other providers. Modules using these certificates - * are encouraged to answer requests to this server with a 503 response code. - * - * @param s the server certificates are collected for - * @param p the pool to use for allocations - * @param cert_file and array of const char* with the path to the certificate chain - * @param key_file and array of const char* with the path to the private key file - * @return OK if files were added, DECLINED if not, or other for error. - */ -AP_DECLARE_HOOK(int, ssl_add_fallback_cert_files, (server_rec *s, apr_pool_t *p, - apr_array_header_t *cert_files, - apr_array_header_t *key_files)) - -/** - * Collect 'fallback' certificate/key files from all registered providers, either - * in the global 'ssl_add_fallback_cert_files' hook or the optional one of similar - * name as provided by mod_ssl and sorts. - * Certificates obtained this way are commonly self signed, temporary crutches. - * To be used to the time it takes to retrieve a 'read', trusted certificate. - * A module using fallbacks is encouraged to answer all requests with a 503. - * - * @param s the server certificates are collected for - * @param p the pool to use for allocations - * @param cert_file and array of const char* with the path to the certificate chain - * @param key_file and array of const char* with the path to the private key file - */ -AP_DECLARE(apr_status_t) ap_ssl_add_fallback_cert_files(server_rec *s, apr_pool_t *p, - apr_array_header_t *cert_files, - apr_array_header_t *key_files); - - -/** - * On TLS connections that do not relate to a configured virtual host - * allow modules to provide a certificate and key to be used on the connection. - * - * A Certificate PEM added must be accompanied by a private key PEM. The private - * key PEM may be given by a NULL pointer, in which case it is expected to be found in - * the certificate PEM string. - */ -AP_DECLARE_HOOK(int, ssl_answer_challenge, (conn_rec *c, const char *server_name, - const char **pcert_pem, const char **pkey_pem)) - -/** - * Returns != 0 iff the connection is a challenge to the server, for example - * as defined in RFC 8555 for the 'tls-alpn-01' domain verification, and needs - * a specific certificate as answer in the handshake. - * - * ALPN protocol negotiation via the hooks 'protocol_propose' and 'protocol_switch' - * need to have run before this call is made. - * - * Certificate PEMs added must be accompanied by a private key PEM. The private - * key PEM may be given by a NULL pointer, in which case it is expected to be found in - * the certificate PEM string. - * - * A certificate provided this way needs to replace any other certificates selected - * by configuration or 'ssl_add_cert_pems` on this connection. - */ -AP_DECLARE(int) ap_ssl_answer_challenge(conn_rec *c, const char *server_name, - const char **pcert_pem, const char **pkey_pem); - - #ifdef __cplusplus } #endif |
