diff options
author | Tomas Mraz <tomas@openssl.org> | 2023-12-01 16:02:35 +0100 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2023-12-05 14:40:05 +0100 |
commit | 5cd004222d3772c54fe4f6e2e4cbea996625411d (patch) | |
tree | 996d3ac2d2c92ae78c62c68023fe299378c2fb13 /.github | |
parent | 7ebaab7689f66ede1f960c42be3446922e3f5e21 (diff) |
Use severity: ABI changed label instead of CI failure for ABIDIFF
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22901)
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/ci.yml | 16 | ||||
-rw-r--r-- | .github/workflows/fips-checksums.yml | 46 | ||||
-rw-r--r-- | .github/workflows/fips-label.yml | 63 | ||||
-rw-r--r-- | .github/workflows/libcrypto-abi.xml | 62593 | ||||
-rw-r--r-- | .github/workflows/libssl-abi.xml | 20345 |
5 files changed, 107 insertions, 82956 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8b61b87c0..a7e55cb884 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -283,7 +283,7 @@ jobs: - name: make test run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} - full_feat_w_abidiff: + full_featured: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -298,25 +298,13 @@ jobs: - name: install extra config support run: sudo apt-get -y install libsctp-dev abigail-tools libzstd-dev zstd - name: config - run: ./config --banner=Configured -g --strict-warnings enable-ktls enable-fips enable-egd enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-sctp enable-ssl3 enable-ssl3-method enable-trace enable-zlib enable-zstd && perl configdata.pm --dump + run: ./config --banner=Configured --strict-warnings enable-ktls enable-fips enable-egd enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-sctp enable-ssl3 enable-ssl3-method enable-trace enable-zlib enable-zstd && perl configdata.pm --dump - name: make run: make -s -j4 - name: get cpu info run: | cat /proc/cpuinfo ./util/opensslwrap.sh version -c - - name: Check ABI compatibility for libcrypto - run: | - if ! abidiff ./.github/workflows/libcrypto-abi.xml ./libcrypto.so ; then - abidw --out-file libcrypto-abi-new.xml ./libcrypto.so - diff -u ./.github/workflows/libcrypto-abi.xml libcrypto-abi-new.xml - fi - - name: Check ABI compatibility for libssl - run: | - if ! abidiff ./.github/workflows/libssl-abi.xml ./libssl.so ; then - abidw --out-file libssl-abi-new.xml ./libssl.so - diff -u ./.github/workflows/libssl-abi.xml libssl-abi-new.xml - fi - name: make test run: make test HARNESS_JOBS=${HARNESS_JOBS:-4} diff --git a/.github/workflows/fips-checksums.yml b/.github/workflows/fips-checksums.yml index 1b56755bfb..9b0bec2a78 100644 --- a/.github/workflows/fips-checksums.yml +++ b/.github/workflows/fips-checksums.yml @@ -5,7 +5,7 @@ # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html -name: FIPS Checksums +name: FIPS Check and ABIDIFF on: [pull_request] permissions: @@ -73,3 +73,47 @@ jobs: with: name: fips_checksum path: artifact/ + + compute-abidiff: + runs-on: ubuntu-latest + env: + BUILD_OPTS: -g --strict-warnings enable-ktls enable-fips enable-egd enable-ec_nistp_64_gcc_128 enable-md2 enable-rc5 enable-sctp enable-ssl3 enable-ssl3-method enable-trace enable-zlib enable-zstd + steps: + - name: create build dirs + run: | + mkdir ./build-pristine + mkdir ./source-pristine + mkdir ./build + mkdir ./source + mkdir ./artifact + - name: install extra config support + run: sudo apt-get -y install libsctp-dev abigail-tools libzstd-dev zstd + - uses: actions/checkout@v4 + with: + repository: ${{ github.event.pull_request.base.repo.full_name }} + ref: ${{ github.event.pull_request.base.ref }} + path: source-pristine + - name: config pristine + run: ../source-pristine/config --banner=Configured $BUILD_OPTS && perl configdata.pm --dump + working-directory: ./build-pristine + - name: make pristine + run: make -s -j4 + working-directory: ./build-pristine + - uses: actions/checkout@v4 + with: + path: source + - name: config + run: ../source/config --banner=Configured $BUILD_OPTS && perl configdata.pm --dump + working-directory: ./build + - name: make + run: make -s -j4 + working-directory: ./build + - name: abidiff + run: abidiff --headers-dir1 build-pristine/include/openssl --headers-dir2 build/include/openssl --drop-private-types ./build-pristine/libcrypto.so ./build/libcrypto.so && abidiff --headers-dir1 build-pristine/include/openssl --headers-dir2 build/include/openssl --drop-private-types ./build-pristine/libssl.so ./build/libssl.so && touch ./artifact/abi_unchanged || ( touch ./artifact/abi_changed ; echo ABI CHANGED ) + - name: save PR number + run: echo ${{ github.event.number }} > ./artifact/pr_num + - name: save artifact + uses: actions/upload-artifact@v3 + with: + name: abidiff + path: artifact/ diff --git a/.github/workflows/fips-label.yml b/.github/workflows/fips-label.yml index eed1d27cd7..9208d63736 100644 --- a/.github/workflows/fips-label.yml +++ b/.github/workflows/fips-label.yml @@ -5,10 +5,10 @@ # in the file LICENSE in the source distribution or at # https://www.openssl.org/source/license.html -name: FIPS Changed Label +name: FIPS and ABI Changed Label on: workflow_run: - workflows: ["FIPS Checksums"] + workflows: ["FIPS Check and ABIDIFF"] types: - completed @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.event == 'pull_request' }} steps: - - name: 'Download artifact' + - name: 'Download fipscheck artifact' if: ${{ github.event.workflow_run.conclusion == 'success' }} uses: actions/github-script@v7 with: @@ -79,3 +79,60 @@ jobs: } } } + + - name: 'Download abidiff artifact' + if: ${{ github.event.workflow_run.conclusion == 'success' }} + uses: actions/github-script@v7 + with: + script: | + var artifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: ${{github.event.workflow_run.id }}, + }); + var matchArtifact = artifacts.data.artifacts.filter((artifact) => { + return artifact.name == "abidiff" + })[0]; + var download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + var fs = require('fs'); + fs.writeFileSync('${{github.workspace}}/artifact.zip', Buffer.from(download.data)); + - run: unzip artifact.zip + if: ${{ github.event.workflow_run.conclusion == 'success' }} + - name: 'Check artifact and apply' + if: ${{ github.event.workflow_run.conclusion == 'success' }} + uses: actions/github-script@v7 + with: + github-token: ${{secrets.GITHUB_TOKEN}} + script: | + var fs = require('fs'); + var pr_num = Number(fs.readFileSync('./pr_num')); + if ( fs.existsSync('./abi_changed') ) { + github.rest.issues.addLabels({ + issue_number: pr_num, + owner: context.repo.owner, + repo: context.repo.repo, + labels: ['severity: ABI change'] + }); + } else if ( fs.existsSync('./abi_unchanged') ) { + var labels = await github.rest.issues.listLabelsOnIssue({ + issue_number: pr_num, + owner: context.repo.owner, + repo: context.repo.repo + }); + + for ( var label in labels.data ) { + if (labels.data[label].name == 'severity: ABI change') { + github.rest.issues.removeLabel({ + issue_number: pr_num, + owner: context.repo.owner, + repo: context.repo.repo, + name: 'severity: fips change' + }); + } + } + } diff --git a/.github/workflows/libcrypto-abi.xml b/.github/workflows/libcrypto-abi.xml deleted file mode 100644 index e3fa029d01..0000000000 --- a/.github/workflows/libcrypto-abi.xml +++ /dev/null @@ -1,62593 +0,0 @@ -<abi-corpus version='2.0' path='libcrypto.so' architecture='elf-amd-x86_64' soname='libcrypto.so.3'> - <elf-needed> - <dependency name='libz.so.1'/> - <dependency name='libzstd.so.1'/> - <dependency name='libc.so.6'/> - </elf-needed> - <elf-function-symbols> - <elf-symbol name='ACCESS_DESCRIPTION_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ACCESS_DESCRIPTION_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ACCESS_DESCRIPTION_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_get0_admissionAuthority' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_get0_namingAuthority' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_get0_professionInfos' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_set0_admissionAuthority' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_set0_namingAuthority' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSIONS_set0_professionInfos' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSION_SYNTAX_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSION_SYNTAX_get0_admissionAuthority' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSION_SYNTAX_get0_contentsOfAdmissions' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSION_SYNTAX_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSION_SYNTAX_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSION_SYNTAX_set0_admissionAuthority' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ADMISSION_SYNTAX_set0_contentsOfAdmissions' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_bi_ige_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_cbc_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_cfb128_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_cfb1_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_cfb8_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_decrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_ecb_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_ige_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_ofb128_encrypt' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_options' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_set_decrypt_key' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_set_encrypt_key' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_unwrap_key' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='AES_wrap_key' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdOrRange_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdOrRange_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdOrRange_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdentifierChoice_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdentifierChoice_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdentifierChoice_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdentifiers_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdentifiers_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASIdentifiers_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ANY_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_check' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_get_bit' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_name_print' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_num_asc' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_set_asc' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BIT_STRING_set_bit' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BMPSTRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BMPSTRING_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BMPSTRING_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_BOOLEAN_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ENUMERATED_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ENUMERATED_get' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ENUMERATED_get_int64' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ENUMERATED_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ENUMERATED_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ENUMERATED_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ENUMERATED_set_int64' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ENUMERATED_to_BN' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_FBOOLEAN_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_adj' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_check' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_dup' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_print' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALIZEDTIME_set_string' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALSTRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALSTRING_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_GENERALSTRING_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_IA5STRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_IA5STRING_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_IA5STRING_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_cmp' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_dup' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_get' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_get_int64' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_get_uint64' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_set_int64' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_set_uint64' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_INTEGER_to_BN' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ITEM_get' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_ITEM_lookup' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_NULL_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_NULL_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_NULL_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OBJECT_create' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OBJECT_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OBJECT_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OBJECT_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OCTET_STRING_NDEF_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OCTET_STRING_cmp' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OCTET_STRING_dup' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OCTET_STRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OCTET_STRING_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OCTET_STRING_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_OCTET_STRING_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_get_cert_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_get_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_get_nm_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_get_oid_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_get_str_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_set_cert_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_set_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_set_nm_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_set_oid_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PCTX_set_str_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PRINTABLESTRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PRINTABLESTRING_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PRINTABLESTRING_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PRINTABLE_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PRINTABLE_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PRINTABLE_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_PRINTABLE_type' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SCTX_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SCTX_get_app_data' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SCTX_get_flags' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SCTX_get_item' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SCTX_get_template' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SCTX_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SCTX_set_app_data' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SEQUENCE_ANY_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SEQUENCE_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_SET_ANY_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_TABLE_add' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_TABLE_cleanup' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_TABLE_get' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_clear_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_cmp' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_copy' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_data' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_dup' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_get0_data' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_get_default_mask' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_length' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_length_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_print' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_print_ex' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_print_ex_fp' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_set0' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_set_by_NID' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_set_default_mask' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_set_default_mask_asc' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_to_UTF8' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_type' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_STRING_type_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_T61STRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_T61STRING_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_T61STRING_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TBOOLEAN_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_adj' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_check' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_cmp_time_t' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_compare' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_diff' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_dup' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_it' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_normalize' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_print' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_print_ex' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_set_string' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_set_string_X509' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_to_generalizedtime' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TIME_to_tm' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_cmp' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_get' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_get_int_octetstring' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_get_octetstring' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_new' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_pack_sequence' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_set1' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_set' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_set_int_octetstring' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_set_octetstring' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_TYPE_unpack_sequence' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/> - <elf-symbol name='ASN1_UNIVERSALSTRING_free' version='OPENSSL_3.0.0' is-default-version='yes' type='func-type' binding='global-binding' visibility='default-visibil |