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


Reply via email to