This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push: new 0180dca753 Add jextract support tooling 0180dca753 is described below commit 0180dca75365f16d7829721c5274f18d0c2eb33d Author: remm <r...@apache.org> AuthorDate: Tue Oct 24 10:20:50 2023 +0200 Add jextract support tooling --- res/openssl/README.md | 42 +++++ res/openssl/addlicense.sh | 22 +++ res/openssl/license.header | 17 ++ res/openssl/openssl-tomcat.conf | 365 ++++++++++++++++++++++++++++++++++++++++ res/openssl/openssl.h | 31 ++++ 5 files changed, 477 insertions(+) diff --git a/res/openssl/README.md b/res/openssl/README.md new file mode 100644 index 0000000000..5fd1eba39e --- /dev/null +++ b/res/openssl/README.md @@ -0,0 +1,42 @@ +# OpenSSL support for Apache Tomcat + +## Building + +The OpenSSL API support classes can be built using jextract from Java 22+. + +jextract is now available in its own standalone repository. Clone +`https://github.com/openjdk/jextract` in some location and +checkout the branch that supports Java 22. Please refer to the +instructions from the repository for building. It should be the +`panama` branch. + +This step is only useful to be able to use additional native APIs from OpenSSL +or stdlib. + +Find include paths using `gcc -xc -E -v -`, on Fedora it is +`/usr/lib/gcc/x86_64-redhat-linux/12/include`. Edit `openssl-tomcat.conf` +accordingly to set the appropriate path. + +``` +export JEXTRACT_HOME=<pathto>/jextract/build/jextract +$JEXTRACT_HOME/bin/jextract @openssl-tomcat.conf openssl.h +``` +Note: The build path for the JDK will be different on other platforms. + +The code included was generated using OpenSSL 3.0. As long as things remain +API compatible, the generated code will still work. + +The `openssl-tomcat.conf` will generate a trimmed down OpenSSL API. When +developing new features, the full API can be generated instead using: +``` +$JEXTRACT_HOME/bin/jextract --source -t org.apache.tomcat.util.openssl -lssl -I /usr/lib/gcc/x86_64-redhat-linux/12/include openssl.h --output src/main/java +``` + +The `openssl.conf` file lists all the API calls and constants that can be +generated using jextract, as a reference to what is available. Some macros are +not supported and have to be reproduced in code. + +Before committing updated generated files, they need to have the license header +added. The `addlicense.sh` script can do that and process all Java source files +in the `src/main/java/org/apache/tomcat/util/openssl` directory. + diff --git a/res/openssl/addlicense.sh b/res/openssl/addlicense.sh new file mode 100755 index 0000000000..6349703675 --- /dev/null +++ b/res/openssl/addlicense.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +for generated in src/main/java/org/apache/tomcat/util/openssl/*.java; do + cat license.header $generated >> $generated.$$ + mv $generated.$$ $generated + echo Updated $generated +done diff --git a/res/openssl/license.header b/res/openssl/license.header new file mode 100644 index 0000000000..4b326ae5c2 --- /dev/null +++ b/res/openssl/license.header @@ -0,0 +1,17 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + diff --git a/res/openssl/openssl-tomcat.conf b/res/openssl/openssl-tomcat.conf new file mode 100644 index 0000000000..5fab9dc305 --- /dev/null +++ b/res/openssl/openssl-tomcat.conf @@ -0,0 +1,365 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--source +-t org.apache.tomcat.util.openssl +-lssl +# Configure include path +-I /usr/lib/gcc/x86_64-redhat-linux/12/include +--output src/main/java + +#### Extracted from: /usr/include/openssl/asn1.h + +--include-function ASN1_STRING_get0_data # header: /usr/include/openssl/asn1.h +--include-function ASN1_STRING_length # header: /usr/include/openssl/asn1.h + +#### Extracted from: /usr/include/openssl/bio.h + +--include-function BIO_ctrl # header: /usr/include/openssl/bio.h +--include-function BIO_ctrl_pending # header: /usr/include/openssl/bio.h +--include-function BIO_free # header: /usr/include/openssl/bio.h +--include-function BIO_new # header: /usr/include/openssl/bio.h +--include-function BIO_new_bio_pair # header: /usr/include/openssl/bio.h +--include-function BIO_new_file # header: /usr/include/openssl/bio.h +--include-function BIO_read # header: /usr/include/openssl/bio.h +--include-function BIO_s_bio # header: /usr/include/openssl/bio.h +--include-function BIO_s_file # header: /usr/include/openssl/bio.h +--include-function BIO_s_mem # header: /usr/include/openssl/bio.h +--include-function BIO_write # header: /usr/include/openssl/bio.h +--include-constant BIO_CLOSE # header: /usr/include/openssl/bio.h +--include-constant BIO_CTRL_RESET # header: /usr/include/openssl/bio.h +--include-constant BIO_C_SET_FILENAME # header: /usr/include/openssl/bio.h +--include-constant BIO_FP_READ # header: /usr/include/openssl/bio.h + +#### Extracted from: /usr/include/openssl/bn.h + +--include-function BN_get_rfc2409_prime_1024 # header: /usr/include/openssl/bn.h +--include-function BN_get_rfc2409_prime_768 # header: /usr/include/openssl/bn.h +--include-function BN_get_rfc3526_prime_1536 # header: /usr/include/openssl/bn.h +--include-function BN_get_rfc3526_prime_2048 # header: /usr/include/openssl/bn.h +--include-function BN_get_rfc3526_prime_3072 # header: /usr/include/openssl/bn.h +--include-function BN_get_rfc3526_prime_4096 # header: /usr/include/openssl/bn.h +--include-function BN_get_rfc3526_prime_6144 # header: /usr/include/openssl/bn.h +--include-function BN_get_rfc3526_prime_8192 # header: /usr/include/openssl/bn.h +--include-function BN_new # header: /usr/include/openssl/bn.h +--include-function BN_set_word # header: /usr/include/openssl/bn.h + +#### Extracted from: /usr/include/openssl/crypto.h + +--include-function CRYPTO_free # header: /usr/include/openssl/crypto.h +--include-function OpenSSL_version # header: /usr/include/openssl/crypto.h +--include-function OpenSSL_version_num # header: /usr/include/openssl/crypto.h +--include-constant OPENSSL_INIT_ENGINE_ALL_BUILTIN # deprecated header: /usr/include/openssl/crypto.h + +#### Extracted from: /usr/include/openssl/dh.h + +--include-function DH_free # deprecated header: /usr/include/openssl/dh.h +--include-function DH_new # deprecated header: /usr/include/openssl/dh.h +--include-function DH_set0_pqg # deprecated header: /usr/include/openssl/dh.h + +#### Extracted from: /usr/include/openssl/ec.h + +--include-function d2i_ECPKParameters # header: /usr/include/openssl/ec.h +--include-function EC_GROUP_free # header: /usr/include/openssl/ec.h +--include-function EC_GROUP_get_curve_name # header: /usr/include/openssl/ec.h +--include-function EC_KEY_free # deprecated header: /usr/include/openssl/ec.h +--include-function EC_KEY_new_by_curve_name # deprecated header: /usr/include/openssl/ec.h + +#### Extracted from: /usr/include/openssl/engine.h + +--include-function ENGINE_by_id # deprecated header: /usr/include/openssl/engine.h +--include-function ENGINE_ctrl_cmd_string # deprecated header: /usr/include/openssl/engine.h +--include-function ENGINE_free # deprecated header: /usr/include/openssl/engine.h +--include-function ENGINE_load_private_key # deprecated header: /usr/include/openssl/engine.h +--include-function ENGINE_register_all_complete # deprecated header: /usr/include/openssl/engine.h +--include-function ENGINE_set_default # deprecated header: /usr/include/openssl/engine.h +--include-constant ENGINE_METHOD_ALL # deprecated header: /usr/include/openssl/engine.h + +#### Extracted from: /usr/include/openssl/err.h + +--include-function ERR_clear_error # header: /usr/include/openssl/err.h +--include-function ERR_error_string # header: /usr/include/openssl/err.h +--include-function ERR_get_error # header: /usr/include/openssl/err.h +--include-function ERR_peek_last_error # header: /usr/include/openssl/err.h + +#### Extracted from: /usr/include/openssl/evp.h + +--include-function EVP_MD_fetch # header: /usr/include/openssl/evp.h +--include-function EVP_MD_free # header: /usr/include/openssl/evp.h +--include-function EVP_MD_get0_provider # header: /usr/include/openssl/evp.h +--include-function EVP_PKEY_get_base_id # header: /usr/include/openssl/evp.h +--include-function EVP_PKEY_get_bits # header: /usr/include/openssl/evp.h +--include-function EVP_PKEY_free # header: /usr/include/openssl/evp.h +--include-constant EVP_PKEY_DSA # header: /usr/include/openssl/evp.h +--include-constant EVP_PKEY_NONE # header: /usr/include/openssl/evp.h +--include-constant EVP_PKEY_RSA # header: /usr/include/openssl/evp.h + +#### Extracted from: /usr/include/openssl/obj_mac.h + +--include-constant NID_info_access # header: /usr/include/openssl/obj_mac.h + +#### Extracted from: /usr/include/openssl/ocsp.h + +--include-function OCSP_BASICRESP_free # header: /usr/include/openssl/ocsp.h +--include-function OCSP_CERTID_free # header: /usr/include/openssl/ocsp.h +--include-function OCSP_REQUEST_free # header: /usr/include/openssl/ocsp.h +--include-function OCSP_REQUEST_new # header: /usr/include/openssl/ocsp.h +--include-function OCSP_RESPONSE_free # header: /usr/include/openssl/ocsp.h +--include-function OCSP_cert_to_id # header: /usr/include/openssl/ocsp.h +--include-function OCSP_request_add0_id # header: /usr/include/openssl/ocsp.h +--include-function OCSP_response_get1_basic # header: /usr/include/openssl/ocsp.h +--include-function OCSP_response_status # header: /usr/include/openssl/ocsp.h +--include-function OCSP_resp_find # header: /usr/include/openssl/ocsp.h +--include-function OCSP_resp_get0 # header: /usr/include/openssl/ocsp.h +--include-function OCSP_single_get0_status # header: /usr/include/openssl/ocsp.h +--include-function d2i_OCSP_RESPONSE # header: /usr/include/openssl/ocsp.h +--include-function i2d_OCSP_REQUEST # header: /usr/include/openssl/ocsp.h +--include-constant OCSP_RESPONSE_STATUS_SUCCESSFUL # header: /usr/include/openssl/ocsp.h +--include-constant V_OCSP_CERTSTATUS_GOOD # header: /usr/include/openssl/ocsp.h +--include-constant V_OCSP_CERTSTATUS_REVOKED # header: /usr/include/openssl/ocsp.h +--include-constant V_OCSP_CERTSTATUS_UNKNOWN # header: /usr/include/openssl/ocsp.h + +#### Extracted from: /usr/include/openssl/opensslconf-x86_64.h + +--include-constant OPENSSL_API_COMPAT # header: /usr/include/openssl/opensslconf-x86_64.h +--include-constant OPENSSL_FILE # header: /usr/include/openssl/opensslconf-x86_64.h +--include-constant OPENSSL_LINE # header: /usr/include/openssl/opensslconf-x86_64.h +--include-constant OPENSSL_MIN_API # header: /usr/include/openssl/opensslconf-x86_64.h + +#### Extracted from: /usr/include/openssl/pem.h + +--include-function PEM_ASN1_read_bio # header: /usr/include/openssl/pem.h +--include-function PEM_read_bio_DHparams # deprecated header: /usr/include/openssl/pem.h +--include-function PEM_read_bio_ECPKParameters # deprecated header: /usr/include/openssl/pem.h +--include-function PEM_read_bio_Parameters # header: /usr/include/openssl/pem.h +--include-function PEM_read_bio_PrivateKey # header: /usr/include/openssl/pem.h +--include-function PEM_read_bio_X509_AUX # header: /usr/include/openssl/pem.h +--include-constant PEM_STRING_ECPARAMETERS # header: /usr/include/openssl/pem.h + +#### Extracted from: /usr/include/openssl/pemerr.h + +--include-constant PEM_R_NO_START_LINE # header: /usr/include/openssl/pemerr.h + +#### Extracted from: /usr/include/openssl/pkcs12.h + +--include-function PKCS12_free # header: /usr/include/openssl/pkcs12.h +--include-function PKCS12_parse # header: /usr/include/openssl/pkcs12.h +--include-function PKCS12_verify_mac # header: /usr/include/openssl/pkcs12.h +--include-function d2i_PKCS12_bio # header: /usr/include/openssl/pkcs12.h + +#### Extracted from: /usr/include/openssl/provider.h + +--include-function OSSL_PROVIDER_get0_name # header: /usr/include/openssl/provider.h + +#### Extracted from: /usr/include/openssl/rand.h + +--include-function RAND_load_file # header: /usr/include/openssl/rand.h +--include-function RAND_seed # header: /usr/include/openssl/rand.h + +#### Extracted from: /usr/include/openssl/ssl.h + +--include-function OPENSSL_init_ssl # header: /usr/include/openssl/ssl.h +--include-function SSL_CIPHER_get_auth_nid # header: /usr/include/openssl/ssl.h +--include-function SSL_CIPHER_get_kx_nid # header: /usr/include/openssl/ssl.h +--include-function SSL_CIPHER_get_name # header: /usr/include/openssl/ssl.h +--include-function SSL_CONF_CTX_finish # header: /usr/include/openssl/ssl.h +--include-function SSL_CONF_CTX_free # header: /usr/include/openssl/ssl.h +--include-function SSL_CONF_CTX_new # header: /usr/include/openssl/ssl.h +--include-function SSL_CONF_CTX_set_flags # header: /usr/include/openssl/ssl.h +--include-function SSL_CONF_CTX_set_ssl_ctx # header: /usr/include/openssl/ssl.h +--include-function SSL_CONF_cmd # header: /usr/include/openssl/ssl.h +--include-function SSL_CONF_cmd_value_type # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_add_client_CA # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_check_private_key # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_clear_options # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_ctrl # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_free # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_get_cert_store # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_get_ciphers # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_get_client_CA_list # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_get_options # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_get_timeout # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_load_verify_locations # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_new # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_alpn_select_cb # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_cert_verify_callback # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_cipher_list # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_ciphersuites # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_client_CA_list # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_default_passwd_cb # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_default_verify_paths # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_options # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_session_id_context # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_timeout # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_tmp_dh_callback # deprecated header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set_verify # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_set0_tmp_dh_pkey # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_use_certificate # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_use_certificate_chain_file # header: /usr/include/openssl/ssl.h +--include-function SSL_CTX_use_PrivateKey # header: /usr/include/openssl/ssl.h +--include-function SSL_SESSION_get_id # header: /usr/include/openssl/ssl.h +--include-function SSL_SESSION_get_time # header: /usr/include/openssl/ssl.h +--include-function SSL_add_file_cert_subjects_to_stack # header: /usr/include/openssl/ssl.h +--include-function SSL_do_handshake # header: /usr/include/openssl/ssl.h +--include-function SSL_free # header: /usr/include/openssl/ssl.h +--include-function SSL_get_ciphers # header: /usr/include/openssl/ssl.h +--include-function SSL_get_current_cipher # header: /usr/include/openssl/ssl.h +--include-function SSL_get_ex_data_X509_STORE_CTX_idx # header: /usr/include/openssl/ssl.h +--include-function SSL_get_options # header: /usr/include/openssl/ssl.h +--include-function SSL_get_peer_cert_chain # header: /usr/include/openssl/ssl.h +--include-function SSL_get_privatekey # header: /usr/include/openssl/ssl.h +--include-function SSL_get_session # header: /usr/include/openssl/ssl.h +--include-function SSL_get_shutdown # header: /usr/include/openssl/ssl.h +--include-function SSL_get_version # header: /usr/include/openssl/ssl.h +--include-function SSL_get0_alpn_selected # header: /usr/include/openssl/ssl.h +--include-function SSL_get1_peer_certificate # header: /usr/include/openssl/ssl.h +--include-function SSL_in_init # header: /usr/include/openssl/ssl.h +--include-function SSL_load_client_CA_file # header: /usr/include/openssl/ssl.h +--include-function SSL_new # header: /usr/include/openssl/ssl.h +--include-function SSL_pending # header: /usr/include/openssl/ssl.h +--include-function SSL_read # header: /usr/include/openssl/ssl.h +--include-function SSL_renegotiate # header: /usr/include/openssl/ssl.h +--include-function SSL_renegotiate_pending # header: /usr/include/openssl/ssl.h +--include-function SSL_set_accept_state # header: /usr/include/openssl/ssl.h +--include-function SSL_set_bio # header: /usr/include/openssl/ssl.h +--include-function SSL_set_cipher_list # header: /usr/include/openssl/ssl.h +--include-function SSL_set_connect_state # header: /usr/include/openssl/ssl.h +--include-function SSL_set_info_callback # header: /usr/include/openssl/ssl.h +--include-function SSL_set_options # header: /usr/include/openssl/ssl.h +--include-function SSL_set_verify # header: /usr/include/openssl/ssl.h +--include-function SSL_set_verify_result # header: /usr/include/openssl/ssl.h +--include-function SSL_shutdown # header: /usr/include/openssl/ssl.h +--include-function SSL_verify_client_post_handshake # header: /usr/include/openssl/ssl.h +--include-function SSL_write # header: /usr/include/openssl/ssl.h +--include-function TLS_server_method # header: /usr/include/openssl/ssl.h +--include-constant SSL_CB_HANDSHAKE_DONE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CONF_FLAG_CERTIFICATE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CONF_FLAG_FILE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CONF_FLAG_SERVER # header: /usr/include/openssl/ssl.h +--include-constant SSL_CONF_FLAG_SHOW_ERRORS # header: /usr/include/openssl/ssl.h +--include-constant SSL_CONF_TYPE_DIR # header: /usr/include/openssl/ssl.h +--include-constant SSL_CONF_TYPE_FILE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CONF_TYPE_UNKNOWN # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_CHAIN_CERT # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_GET_SESS_CACHE_MODE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_GET_SESS_CACHE_SIZE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_ACCEPT # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_ACCEPT_GOOD # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_ACCEPT_RENEGOTIATE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_CACHE_FULL # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_CB_HIT # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_CONNECT # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_CONNECT_GOOD # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_CONNECT_RENEGOTIATE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_HIT # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_MISSES # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_NUMBER # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SESS_TIMEOUTS # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_DH_AUTO # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_GROUPS # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_MAX_PROTO_VERSION # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_MIN_PROTO_VERSION # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_SESS_CACHE_MODE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_SESS_CACHE_SIZE # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_TLSEXT_TICKET_KEYS # header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_TMP_DH # deprecated header: /usr/include/openssl/ssl.h +--include-constant SSL_CTRL_SET_TMP_ECDH # deprecated header: /usr/include/openssl/ssl.h +--include-constant SSL_ERROR_NONE # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_ALL # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_CIPHER_SERVER_PREFERENCE # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_COMPRESSION # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_SSLv2 # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_SSLv3 # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_TICKET # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_TLSv1 # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_TLSv1_1 # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_TLSv1_2 # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_NO_TLSv1_3 # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_SINGLE_DH_USE # header: /usr/include/openssl/ssl.h +--include-constant SSL_OP_SINGLE_ECDH_USE # header: /usr/include/openssl/ssl.h +--include-constant SSL_RECEIVED_SHUTDOWN # header: /usr/include/openssl/ssl.h +--include-constant SSL_SENT_SHUTDOWN # header: /usr/include/openssl/ssl.h +--include-constant SSL_SESS_CACHE_OFF # header: /usr/include/openssl/ssl.h +--include-constant SSL_SESS_CACHE_SERVER # header: /usr/include/openssl/ssl.h +--include-constant SSL_VERIFY_FAIL_IF_NO_PEER_CERT # header: /usr/include/openssl/ssl.h +--include-constant SSL_VERIFY_NONE # header: /usr/include/openssl/ssl.h +--include-constant SSL_VERIFY_PEER # header: /usr/include/openssl/ssl.h + +#### Extracted from: /usr/include/openssl/ssl2.h + +--include-constant SSL2_VERSION # header: /usr/include/openssl/ssl2.h + +#### Extracted from: /usr/include/openssl/ssl3.h + +--include-constant SSL3_VERSION # header: /usr/include/openssl/ssl3.h + +#### Extracted from: /usr/include/openssl/tls1.h + +--include-constant SSL_TLSEXT_ERR_NOACK # header: /usr/include/openssl/tls1.h +--include-constant SSL_TLSEXT_ERR_OK # header: /usr/include/openssl/tls1.h +--include-constant TLS1_1_VERSION # header: /usr/include/openssl/tls1.h +--include-constant TLS1_2_VERSION # header: /usr/include/openssl/tls1.h +--include-constant TLS1_3_VERSION # header: /usr/include/openssl/tls1.h +--include-constant TLS1_VERSION # header: /usr/include/openssl/tls1.h + +#### Extracted from: /usr/include/openssl/stack.h + +--include-function OPENSSL_sk_num # header: /usr/include/openssl/stack.h +--include-function OPENSSL_sk_value # header: /usr/include/openssl/stack.h + +#### Extracted from: /usr/include/openssl/x509.h + +--include-function i2d_X509 # header: /usr/include/openssl/x509.h +--include-function d2i_X509 # header: /usr/include/openssl/x509.h +--include-function d2i_X509_bio # header: /usr/include/openssl/x509.h +--include-function X509_EXTENSION_get_data # header: /usr/include/openssl/x509.h +--include-function X509_free # header: /usr/include/openssl/x509.h +--include-function X509_get_ext # header: /usr/include/openssl/x509.h +--include-function X509_get_ext_by_NID # header: /usr/include/openssl/x509.h +--include-constant X509_FILETYPE_PEM # header: /usr/include/openssl/x509.h + +#### Extracted from: /usr/include/openssl/x509v3.h + +--include-function X509_check_issued # header: /usr/include/openssl/x509v3.h + +#### Extracted from: /usr/include/openssl/x509_vfy.h + +--include-function X509_LOOKUP_ctrl # header: /usr/include/openssl/x509_vfy.h +--include-function X509_LOOKUP_file # header: /usr/include/openssl/x509_vfy.h +--include-function X509_LOOKUP_hash_dir # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_add_lookup # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_CTX_get_current_cert # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_CTX_get_error # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_CTX_get_error_depth # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_CTX_get_ex_data # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_CTX_get0_current_issuer # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_CTX_get0_untrusted # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_CTX_set_error # header: /usr/include/openssl/x509_vfy.h +--include-function X509_STORE_set_flags # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_L_ADD_DIR # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_L_FILE_LOAD # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_ERR_APPLICATION_VERIFICATION # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_ERR_CERT_UNTRUSTED # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_ERR_CRL_HAS_EXPIRED # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_FLAG_CRL_CHECK # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_FLAG_CRL_CHECK_ALL # header: /usr/include/openssl/x509_vfy.h +--include-constant X509_V_OK # header: /usr/include/openssl/x509_vfy.h + diff --git a/res/openssl/openssl.h b/res/openssl/openssl.h new file mode 100644 index 0000000000..e31fad9e1b --- /dev/null +++ b/res/openssl/openssl.h @@ -0,0 +1,31 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <openssl/opensslv.h> +#include <openssl/ssl.h> +#include <openssl/err.h> +#include <openssl/x509.h> +#include <openssl/pem.h> +#include <openssl/pkcs12.h> +#include <openssl/crypto.h> +#include <openssl/evp.h> +#include <openssl/rand.h> +#include <openssl/x509v3.h> +#include <openssl/dh.h> +#include <openssl/bn.h> +#include <openssl/engine.h> +#include <openssl/ocsp.h> +#include <openssl/provider.h> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org