diff options
author | Adam Harrison <adamdharrison@gmail.com> | 2023-07-06 06:37:41 -0400 |
---|---|---|
committer | Adam Harrison <adamdharrison@gmail.com> | 2023-07-06 06:37:41 -0400 |
commit | 9db10386430479067795bec66bb26343ff176ded (patch) | |
tree | 5ad0cf95abde7cf03afaf8f70af8549d46b09a46 /lib/mbedtls-2.27.0/scripts | |
parent | 57092d80cb07fa1a84873769fa92165426196054 (diff) | |
download | lite-xl-plugin-manager-9db10386430479067795bec66bb26343ff176ded.tar.gz lite-xl-plugin-manager-9db10386430479067795bec66bb26343ff176ded.zip |
Removed old mbedtls, replacing with submodule.
Diffstat (limited to 'lib/mbedtls-2.27.0/scripts')
38 files changed, 0 insertions, 8019 deletions
diff --git a/lib/mbedtls-2.27.0/scripts/abi_check.py b/lib/mbedtls-2.27.0/scripts/abi_check.py deleted file mode 100755 index 3cfd95a..0000000 --- a/lib/mbedtls-2.27.0/scripts/abi_check.py +++ /dev/null @@ -1,446 +0,0 @@ -#!/usr/bin/env python3 -""" -Purpose - -This script is a small wrapper around the abi-compliance-checker and -abi-dumper tools, applying them to compare the ABI and API of the library -files from two different Git revisions within an Mbed TLS repository. -The results of the comparison are either formatted as HTML and stored at -a configurable location, or are given as a brief list of problems. -Returns 0 on success, 1 on ABI/API non-compliance, and 2 if there is an error -while running the script. Note: must be run from Mbed TLS root. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import os -import sys -import traceback -import shutil -import subprocess -import argparse -import logging -import tempfile -import fnmatch -from types import SimpleNamespace - -import xml.etree.ElementTree as ET - - -class AbiChecker: - """API and ABI checker.""" - - def __init__(self, old_version, new_version, configuration): - """Instantiate the API/ABI checker. - - old_version: RepoVersion containing details to compare against - new_version: RepoVersion containing details to check - configuration.report_dir: directory for output files - configuration.keep_all_reports: if false, delete old reports - configuration.brief: if true, output shorter report to stdout - configuration.skip_file: path to file containing symbols and types to skip - """ - self.repo_path = "." - self.log = None - self.verbose = configuration.verbose - self._setup_logger() - self.report_dir = os.path.abspath(configuration.report_dir) - self.keep_all_reports = configuration.keep_all_reports - self.can_remove_report_dir = not (os.path.exists(self.report_dir) or - self.keep_all_reports) - self.old_version = old_version - self.new_version = new_version - self.skip_file = configuration.skip_file - self.brief = configuration.brief - self.git_command = "git" - self.make_command = "make" - - @staticmethod - def check_repo_path(): - if not all(os.path.isdir(d) for d in ["include", "library", "tests"]): - raise Exception("Must be run from Mbed TLS root") - - def _setup_logger(self): - self.log = logging.getLogger() - if self.verbose: - self.log.setLevel(logging.DEBUG) - else: - self.log.setLevel(logging.INFO) - self.log.addHandler(logging.StreamHandler()) - - @staticmethod - def check_abi_tools_are_installed(): - for command in ["abi-dumper", "abi-compliance-checker"]: - if not shutil.which(command): - raise Exception("{} not installed, aborting".format(command)) - - def _get_clean_worktree_for_git_revision(self, version): - """Make a separate worktree with version.revision checked out. - Do not modify the current worktree.""" - git_worktree_path = tempfile.mkdtemp() - if version.repository: - self.log.debug( - "Checking out git worktree for revision {} from {}".format( - version.revision, version.repository - ) - ) - fetch_output = subprocess.check_output( - [self.git_command, "fetch", - version.repository, version.revision], - cwd=self.repo_path, - stderr=subprocess.STDOUT - ) - self.log.debug(fetch_output.decode("utf-8")) - worktree_rev = "FETCH_HEAD" - else: - self.log.debug("Checking out git worktree for revision {}".format( - version.revision - )) - worktree_rev = version.revision - worktree_output = subprocess.check_output( - [self.git_command, "worktree", "add", "--detach", - git_worktree_path, worktree_rev], - cwd=self.repo_path, - stderr=subprocess.STDOUT - ) - self.log.debug(worktree_output.decode("utf-8")) - version.commit = subprocess.check_output( - [self.git_command, "rev-parse", "HEAD"], - cwd=git_worktree_path, - stderr=subprocess.STDOUT - ).decode("ascii").rstrip() - self.log.debug("Commit is {}".format(version.commit)) - return git_worktree_path - - def _update_git_submodules(self, git_worktree_path, version): - """If the crypto submodule is present, initialize it. - if version.crypto_revision exists, update it to that revision, - otherwise update it to the default revision""" - update_output = subprocess.check_output( - [self.git_command, "submodule", "update", "--init", '--recursive'], - cwd=git_worktree_path, - stderr=subprocess.STDOUT - ) - self.log.debug(update_output.decode("utf-8")) - if not (os.path.exists(os.path.join(git_worktree_path, "crypto")) - and version.crypto_revision): - return - - if version.crypto_repository: - fetch_output = subprocess.check_output( - [self.git_command, "fetch", version.crypto_repository, - version.crypto_revision], - cwd=os.path.join(git_worktree_path, "crypto"), - stderr=subprocess.STDOUT - ) - self.log.debug(fetch_output.decode("utf-8")) - crypto_rev = "FETCH_HEAD" - else: - crypto_rev = version.crypto_revision - - checkout_output = subprocess.check_output( - [self.git_command, "checkout", crypto_rev], - cwd=os.path.join(git_worktree_path, "crypto"), - stderr=subprocess.STDOUT - ) - self.log.debug(checkout_output.decode("utf-8")) - - def _build_shared_libraries(self, git_worktree_path, version): - """Build the shared libraries in the specified worktree.""" - my_environment = os.environ.copy() - my_environment["CFLAGS"] = "-g -Og" - my_environment["SHARED"] = "1" - if os.path.exists(os.path.join(git_worktree_path, "crypto")): - my_environment["USE_CRYPTO_SUBMODULE"] = "1" - make_output = subprocess.check_output( - [self.make_command, "lib"], - env=my_environment, - cwd=git_worktree_path, - stderr=subprocess.STDOUT - ) - self.log.debug(make_output.decode("utf-8")) - for root, _dirs, files in os.walk(git_worktree_path): - for file in fnmatch.filter(files, "*.so"): - version.modules[os.path.splitext(file)[0]] = ( - os.path.join(root, file) - ) - - @staticmethod - def _pretty_revision(version): - if version.revision == version.commit: - return version.revision - else: - return "{} ({})".format(version.revision, version.commit) - - def _get_abi_dumps_from_shared_libraries(self, version): - """Generate the ABI dumps for the specified git revision. - The shared libraries must have been built and the module paths - present in version.modules.""" - for mbed_module, module_path in version.modules.items(): - output_path = os.path.join( - self.report_dir, "{}-{}-{}.dump".format( - mbed_module, version.revision, version.version - ) - ) - abi_dump_command = [ - "abi-dumper", - module_path, - "-o", output_path, - "-lver", self._pretty_revision(version), - ] - abi_dump_output = subprocess.check_output( - abi_dump_command, - stderr=subprocess.STDOUT - ) - self.log.debug(abi_dump_output.decode("utf-8")) - version.abi_dumps[mbed_module] = output_path - - def _cleanup_worktree(self, git_worktree_path): - """Remove the specified git worktree.""" - shutil.rmtree(git_worktree_path) - worktree_output = subprocess.check_output( - [self.git_command, "worktree", "prune"], - cwd=self.repo_path, - stderr=subprocess.STDOUT - ) - self.log.debug(worktree_output.decode("utf-8")) - - def _get_abi_dump_for_ref(self, version): - """Generate the ABI dumps for the specified git revision.""" - git_worktree_path = self._get_clean_worktree_for_git_revision(version) - self._update_git_submodules(git_worktree_path, version) - self._build_shared_libraries(git_worktree_path, version) - self._get_abi_dumps_from_shared_libraries(version) - self._cleanup_worktree(git_worktree_path) - - def _remove_children_with_tag(self, parent, tag): - children = parent.getchildren() - for child in children: - if child.tag == tag: - parent.remove(child) - else: - self._remove_children_with_tag(child, tag) - - def _remove_extra_detail_from_report(self, report_root): - for tag in ['test_info', 'test_results', 'problem_summary', - 'added_symbols', 'affected']: - self._remove_children_with_tag(report_root, tag) - - for report in report_root: - for problems in report.getchildren()[:]: - if not problems.getchildren(): - report.remove(problems) - - def _abi_compliance_command(self, mbed_module, output_path): - """Build the command to run to analyze the library mbed_module. - The report will be placed in output_path.""" - abi_compliance_command = [ - "abi-compliance-checker", - "-l", mbed_module, - "-old", self.old_version.abi_dumps[mbed_module], - "-new", self.new_version.abi_dumps[mbed_module], - "-strict", - "-report-path", output_path, - ] - if self.skip_file: - abi_compliance_command += ["-skip-symbols", self.skip_file, - "-skip-types", self.skip_file] - if self.brief: - abi_compliance_command += ["-report-format", "xml", - "-stdout"] - return abi_compliance_command - - def _is_library_compatible(self, mbed_module, compatibility_report): - """Test if the library mbed_module has remained compatible. - Append a message regarding compatibility to compatibility_report.""" - output_path = os.path.join( - self.report_dir, "{}-{}-{}.html".format( - mbed_module, self.old_version.revision, - self.new_version.revision - ) - ) - try: - subprocess.check_output( - self._abi_compliance_command(mbed_module, output_path), - stderr=subprocess.STDOUT - ) - except subprocess.CalledProcessError as err: - if err.returncode != 1: - raise err - if self.brief: - self.log.info( - "Compatibility issues found for {}".format(mbed_module) - ) - report_root = ET.fromstring(err.output.decode("utf-8")) - self._remove_extra_detail_from_report(report_root) - self.log.info(ET.tostring(report_root).decode("utf-8")) - else: - self.can_remove_report_dir = False - compatibility_report.append( - "Compatibility issues found for {}, " - "for details see {}".format(mbed_module, output_path) - ) - return False - compatibility_report.append( - "No compatibility issues for {}".format(mbed_module) - ) - if not (self.keep_all_reports or self.brief): - os.remove(output_path) - return True - - def get_abi_compatibility_report(self): - """Generate a report of the differences between the reference ABI - and the new ABI. ABI dumps from self.old_version and self.new_version - must be available.""" - compatibility_report = ["Checking evolution from {} to {}".format( - self._pretty_revision(self.old_version), - self._pretty_revision(self.new_version) - )] - compliance_return_code = 0 - shared_modules = list(set(self.old_version.modules.keys()) & - set(self.new_version.modules.keys())) - for mbed_module in shared_modules: - if not self._is_library_compatible(mbed_module, - compatibility_report): - compliance_return_code = 1 - for version in [self.old_version, self.new_version]: - for mbed_module, mbed_module_dump in version.abi_dumps.items(): - os.remove(mbed_module_dump) - if self.can_remove_report_dir: - os.rmdir(self.report_dir) - self.log.info("\n".join(compatibility_report)) - return compliance_return_code - - def check_for_abi_changes(self): - """Generate a report of ABI differences - between self.old_rev and self.new_rev.""" - self.check_repo_path() - self.check_abi_tools_are_installed() - self._get_abi_dump_for_ref(self.old_version) - self._get_abi_dump_for_ref(self.new_version) - return self.get_abi_compatibility_report() - - -def run_main(): - try: - parser = argparse.ArgumentParser( - description=( - """This script is a small wrapper around the - abi-compliance-checker and abi-dumper tools, applying them - to compare the ABI and API of the library files from two - different Git revisions within an Mbed TLS repository. - The results of the comparison are either formatted as HTML and - stored at a configurable location, or are given as a brief list - of problems. Returns 0 on success, 1 on ABI/API non-compliance, - and 2 if there is an error while running the script. - Note: must be run from Mbed TLS root.""" - ) - ) - parser.add_argument( - "-v", "--verbose", action="store_true", - help="set verbosity level", - ) - parser.add_argument( - "-r", "--report-dir", type=str, default="reports", - help="directory where reports are stored, default is reports", - ) - parser.add_argument( - "-k", "--keep-all-reports", action="store_true", - help="keep all reports, even if there are no compatibility issues", - ) - parser.add_argument( - "-o", "--old-rev", type=str, help="revision for old version.", - required=True, - ) - parser.add_argument( - "-or", "--old-repo", type=str, help="repository for old version." - ) - parser.add_argument( - "-oc", "--old-crypto-rev", type=str, - help="revision for old crypto submodule." - ) - parser.add_argument( - "-ocr", "--old-crypto-repo", type=str, - help="repository for old crypto submodule." - ) - parser.add_argument( - "-n", "--new-rev", type=str, help="revision for new version", - required=True, - ) - parser.add_argument( - "-nr", "--new-repo", type=str, help="repository for new version." - ) - parser.add_argument( - "-nc", "--new-crypto-rev", type=str, - help="revision for new crypto version" - ) - parser.add_argument( - "-ncr", "--new-crypto-repo", type=str, - help="repository for new crypto submodule." - ) - parser.add_argument( - "-s", "--skip-file", type=str, - help=("path to file containing symbols and types to skip " - "(typically \"-s identifiers\" after running " - "\"tests/scripts/list-identifiers.sh --internal\")") - ) - parser.add_argument( - "-b", "--brief", action="store_true", - help="output only the list of issues to stdout, instead of a full report", - ) - abi_args = parser.parse_args() - if os.path.isfile(abi_args.report_dir): - print("Error: {} is not a directory".format(abi_args.report_dir)) - parser.exit() - old_version = SimpleNamespace( - version="old", - repository=abi_args.old_repo, - revision=abi_args.old_rev, - commit=None, - crypto_repository=abi_args.old_crypto_repo, - crypto_revision=abi_args.old_crypto_rev, - abi_dumps={}, - modules={} - ) - new_version = SimpleNamespace( - version="new", - repository=abi_args.new_repo, - revision=abi_args.new_rev, - commit=None, - crypto_repository=abi_args.new_crypto_repo, - crypto_revision=abi_args.new_crypto_rev, - abi_dumps={}, - modules={} - ) - configuration = SimpleNamespace( - verbose=abi_args.verbose, - report_dir=abi_args.report_dir, - keep_all_reports=abi_args.keep_all_reports, - brief=abi_args.brief, - skip_file=abi_args.skip_file - ) - abi_check = AbiChecker(old_version, new_version, configuration) - return_code = abi_check.check_for_abi_changes() - sys.exit(return_code) - except Exception: # pylint: disable=broad-except - # Print the backtrace and exit explicitly so as to exit with - # status 2, not 1. - traceback.print_exc() - sys.exit(2) - - -if __name__ == "__main__": - run_main() diff --git a/lib/mbedtls-2.27.0/scripts/apidoc_full.sh b/lib/mbedtls-2.27.0/scripts/apidoc_full.sh deleted file mode 100755 index 03bbb64..0000000 --- a/lib/mbedtls-2.27.0/scripts/apidoc_full.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -# Generate doxygen documentation with a full config.h (this ensures that every -# available flag is documented, and avoids warnings about documentation -# without a corresponding #define). -# -# /!\ This must not be a Makefile target, as it would create a race condition -# when multiple targets are invoked in the same parallel build. -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -set -eu - -CONFIG_H='include/mbedtls/config.h' - -if [ -r $CONFIG_H ]; then :; else - echo "$CONFIG_H not found" >&2 - exit 1 -fi - -CONFIG_BAK=${CONFIG_H}.bak -cp -p $CONFIG_H $CONFIG_BAK - -scripts/config.py realfull -make apidoc - -mv $CONFIG_BAK $CONFIG_H diff --git a/lib/mbedtls-2.27.0/scripts/assemble_changelog.py b/lib/mbedtls-2.27.0/scripts/assemble_changelog.py deleted file mode 100755 index 56d6c37..0000000 --- a/lib/mbedtls-2.27.0/scripts/assemble_changelog.py +++ /dev/null @@ -1,523 +0,0 @@ -#!/usr/bin/env python3 - -"""Assemble Mbed TLS change log entries into the change log file. - -Add changelog entries to the first level-2 section. -Create a new level-2 section for unreleased changes if needed. -Remove the input files unless --keep-entries is specified. - -In each level-3 section, entries are sorted in chronological order -(oldest first). From oldest to newest: -* Merged entry files are sorted according to their merge date (date of - the merge commit that brought the commit that created the file into - the target branch). -* Committed but unmerged entry files are sorted according to the date - of the commit that adds them. -* Uncommitted entry files are sorted according to their modification time. - -You must run this program from within a git working directory. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import argparse -from collections import OrderedDict, namedtuple -import datetime -import functools -import glob -import os -import re -import subprocess -import sys - -class InputFormatError(Exception): - def __init__(self, filename, line_number, message, *args, **kwargs): - message = '{}:{}: {}'.format(filename, line_number, - message.format(*args, **kwargs)) - super().__init__(message) - -class CategoryParseError(Exception): - def __init__(self, line_offset, error_message): - self.line_offset = line_offset - self.error_message = error_message - super().__init__('{}: {}'.format(line_offset, error_message)) - -class LostContent(Exception): - def __init__(self, filename, line): - message = ('Lost content from {}: "{}"'.format(filename, line)) - super().__init__(message) - -# The category names we use in the changelog. -# If you edit this, update ChangeLog.d/README.md. -STANDARD_CATEGORIES = ( - b'API changes', - b'Default behavior changes', - b'Requirement changes', - b'New deprecations', - b'Removals', - b'Features', - b'Security', - b'Bugfix', - b'Changes', -) - -# The maximum line length for an entry -MAX_LINE_LENGTH = 80 - -CategoryContent = namedtuple('CategoryContent', [ - 'name', 'title_line', # Title text and line number of the title - 'body', 'body_line', # Body text and starting line number of the body -]) - -class ChangelogFormat: - """Virtual class documenting how to write a changelog format class.""" - - @classmethod - def extract_top_version(cls, changelog_file_content): - """Split out the top version section. - - If the top version is already released, create a new top - version section for an unreleased version. - - Return ``(header, top_version_title, top_version_body, trailer)`` - where the "top version" is the existing top version section if it's - for unreleased changes, and a newly created section otherwise. - To assemble the changelog after modifying top_version_body, - concatenate the four pieces. - """ - raise NotImplementedError - - @classmethod - def version_title_text(cls, version_title): - """Return the text of a formatted version section title.""" - raise NotImplementedError - - @classmethod - def split_categories(cls, version_body): - """Split a changelog version section body into categories. - - Return a list of `CategoryContent` the name is category title - without any formatting. - """ - raise NotImplementedError - - @classmethod - def format_category(cls, title, body): - """Construct the text of a category section from its title and body.""" - raise NotImplementedError - -class TextChangelogFormat(ChangelogFormat): - """The traditional Mbed TLS changelog format.""" - - _unreleased_version_text = b'= mbed TLS x.x.x branch released xxxx-xx-xx' - @classmethod - def is_released_version(cls, title): - # Look for an incomplete release date - return not re.search(br'[0-9x]{4}-[0-9x]{2}-[0-9x]?x', title) - - _top_version_re = re.compile(br'(?:\A|\n)(=[^\n]*\n+)(.*?\n)(?:=|$)', - re.DOTALL) - @classmethod - def extract_top_version(cls, changelog_file_content): - """A version section starts with a line starting with '='.""" - m = re.search(cls._top_version_re, changelog_file_content) - top_version_start = m.start(1) - top_version_end = m.end(2) - top_version_title = m.group(1) - top_version_body = m.group(2) - if cls.is_released_version(top_version_title): - top_version_end = top_version_start - top_version_title = cls._unreleased_version_text + b'\n\n' - top_version_body = b'' - return (changelog_file_content[:top_version_start], - top_version_title, top_version_body, - changelog_file_content[top_version_end:]) - - @classmethod - def version_title_text(cls, version_title): - return re.sub(br'\n.*', version_title, re.DOTALL) - - _category_title_re = re.compile(br'(^\w.*)\n+', re.MULTILINE) - @classmethod - def split_categories(cls, version_body): - """A category title is a line with the title in column 0.""" - if not version_body: - return [] - title_matches = list(re.finditer(cls._category_title_re, version_body)) - if not title_matches or title_matches[0].start() != 0: - # There is junk before the first category. - raise CategoryParseError(0, 'Junk found where category expected') - title_starts = [m.start(1) for m in title_matches] - body_starts = [m.end(0) for m in title_matches] - body_ends = title_starts[1:] + [len(version_body)] - bodies = [version_body[body_start:body_end].rstrip(b'\n') + b'\n' - for (body_start, body_end) in zip(body_starts, body_ends)] - title_lines = [version_body[:pos].count(b'\n') for pos in title_starts] - body_lines = [version_body[:pos].count(b'\n') for pos in body_starts] - return [CategoryContent(title_match.group(1), title_line, - body, body_line) - for title_match, title_line, body, body_line - in zip(title_matches, title_lines, bodies, body_lines)] - - @classmethod - def format_category(cls, title, body): - # `split_categories` ensures that each body ends with a newline. - # Make sure that there is additionally a blank line between categories. - if not body.endswith(b'\n\n'): - body += b'\n' - return title + b'\n' + body - -class ChangeLog: - """An Mbed TLS changelog. - - A changelog file consists of some header text followed by one or - more version sections. The version sections are in reverse - chronological order. Each version section consists of a title and a body. - - The body of a version section consists of zero or more category - subsections. Each category subsection consists of a title and a body. - - A changelog entry file has the same format as the body of a version section. - - A `ChangelogFormat` object defines the concrete syntax of the changelog. - Entry files must have the same format as the changelog file. - """ - - # Only accept dotted version numbers (e.g. "3.1", not "3"). - # Refuse ".x" in a version number where x is a letter: this indicates - # a version that is not yet released. Something like "3.1a" is accepted. - _version_number_re = re.compile(br'[0-9]+\.[0-9A-Za-z.]+') - _incomplete_version_number_re = re.compile(br'.*\.[A-Za-z]') - _only_url_re = re.compile(br'^\s*\w+://\S+\s*$') - _has_url_re = re.compile(br'.*://.*') - - def add_categories_from_text(self, filename, line_offset, - text, allow_unknown_category): - """Parse a version section or entry file.""" - try: - categories = self.format.split_categories(text) - except CategoryParseError as e: - raise InputFormatError(filename, line_offset + e.line_offset, - e.error_message) - for category in categories: - if not allow_unknown_category and \ - category.name not in self.categories: - raise InputFormatError(filename, - line_offset + category.title_line, - 'Unknown category: "{}"', - category.name.decode('utf8')) - - body_split = category.body.splitlines() - - for line_number, line in enumerate(body_split, 1): - if not self._only_url_re.match(line) and \ - len(line) > MAX_LINE_LENGTH: - long_url_msg = '. URL exceeding length limit must be alone in its line.' \ - if self._has_url_re.match(line) else "" - raise InputFormatError(filename, - category.body_line + line_number, - 'Line is longer than allowed: ' - 'Length {} (Max {}){}', - len(line), MAX_LINE_LENGTH, - long_url_msg) - - self.categories[category.name] += category.body - - def __init__(self, input_stream, changelog_format): - """Create a changelog object. - - Populate the changelog object from the content of the file - input_stream. - """ - self.format = changelog_format - whole_file = input_stream.read() - (self.header, - self.top_version_title, top_version_body, - self.trailer) = self.format.extract_top_version(whole_file) - # Split the top version section into categories. - self.categories = OrderedDict() - for category in STANDARD_CATEGORIES: - self.categories[category] = b'' - offset = (self.header + self.top_version_title).count(b'\n') + 1 - self.add_categories_from_text(input_stream.name, offset, - top_version_body, True) - - def add_file(self, input_stream): - """Add changelog entries from a file. - """ - self.add_categories_from_text(input_stream.name, 1, - input_stream.read(), False) - - def write(self, filename): - """Write the changelog to the specified file. - """ - with open(filename, 'wb') as out: - out.write(self.header) - out.write(self.top_version_title) - for title, body in self.categories.items(): - if not body: - continue - out.write(self.format.format_category(title, body)) - out.write(self.trailer) - - -@functools.total_ordering -class EntryFileSortKey: - """This classes defines an ordering on changelog entry files: older < newer. - - * Merged entry files are sorted according to their merge date (date of - the merge commit that brought the commit that created the file into - the target branch). - * Committed but unmerged entry files are sorted according to the date - of the commit that adds them. - * Uncommitted entry files are sorted according to their modification time. - - This class assumes that the file is in a git working directory with - the target branch checked out. - """ - - # Categories of files. A lower number is considered older. - MERGED = 0 - COMMITTED = 1 - LOCAL = 2 - - @staticmethod - def creation_hash(filename): - """Return the git commit id at which the given file was created. - - Return None if the file was never checked into git. - """ - hashes = subprocess.check_output(['git', 'log', '--format=%H', - '--follow', - '--', filename]) - m = re.search(b'(.+)$', hashes) - if not m: - # The git output is empty. This means that the file was - # never checked in. - return None - # The last commit in the log is the oldest one, which is when the - # file was created. - return m.group(0) - - @staticmethod - def list_merges(some_hash, target, *options): - """List merge commits from some_hash to target. - - Pass options to git to select which commits are included. - """ - text = subprocess.check_output(['git', 'rev-list', - '--merges', *options, - b'..'.join([some_hash, target])]) - return text.rstrip(b'\n').split(b'\n') - - @classmethod - def merge_hash(cls, some_hash): - """Return the git commit id at which the given commit was merged. - - Return None if the given commit was never merged. - """ - target = b'HEAD' - # List the merges from some_hash to the target in two ways. - # The ancestry list is the ones that are both descendants of - # some_hash and ancestors of the target. - ancestry = frozenset(cls.list_merges(some_hash, target, - '--ancestry-path')) - # The first_parents list only contains merges that are directly - # on the target branch. We want it in reverse order (oldest first). - first_parents = cls.list_merges(some_hash, target, - '--first-parent', '--reverse') - # Look for the oldest merge commit that's both on the direct path - # and directly on the target branch. That's the place where some_hash - # was merged on the target branch. See - # https://stackoverflow.com/questions/8475448/find-merge-commit-which-include-a-specific-commit - for commit in first_parents: - if commit in ancestry: - return commit - return None - - @staticmethod - def commit_timestamp(commit_id): - """Return the timestamp of the given commit.""" - text = subprocess.check_output(['git', 'show', '-s', - '--format=%ct', - commit_id]) - return datetime.datetime.utcfromtimestamp(int(text)) - - @staticmethod - def file_timestamp(filename): - """Return the modification timestamp of the given file.""" - mtime = os.stat(filename).st_mtime - return datetime.datetime.fromtimestamp(mtime) - - def __init__(self, filename): - """Determine position of the file in the changelog entry order. - - This constructor returns an object that can be used with comparison - operators, with `sort` and `sorted`, etc. Older entries are sorted - before newer entries. - """ - self.filename = filename - creation_hash = self.creation_hash(filename) - if not creation_hash: - self.category = self.LOCAL - self.datetime = self.file_timestamp(filename) - return - merge_hash = self.merge_hash(creation_hash) - if not merge_hash: - self.category = self.COMMITTED - self.datetime = self.commit_timestamp(creation_hash) - return - self.category = self.MERGED - self.datetime = self.commit_timestamp(merge_hash) - - def sort_key(self): - """"Return a concrete sort key for this entry file sort key object. - - ``ts1 < ts2`` is implemented as ``ts1.sort_key() < ts2.sort_key()``. - """ - return (self.category, self.datetime, self.filename) - - def __eq__(self, other): - return self.sort_key() == other.sort_key() - - def __lt__(self, other): - return self.sort_key() < other.sort_key() - - -def check_output(generated_output_file, main_input_file, merged_files): - """Make sanity checks on the generated output. - - The intent of these sanity checks is to have reasonable confidence - that no content has been lost. - - The sanity check is that every line that is present in an input file - is also present in an output file. This is not perfect but good enough - for now. - """ - generated_output = set(open(generated_output_file, 'rb')) - for line in open(main_input_file, 'rb'): - if line not in generated_output: - raise LostContent('original file', line) - for merged_file in merged_files: - for line in open(merged_file, 'rb'): - if line not in generated_output: - raise LostContent(merged_file, line) - -def finish_output(changelog, output_file, input_file, merged_files): - """Write the changelog to the output file. - - The input file and the list of merged files are used only for sanity - checks on the output. - """ - if os.path.exists(output_file) and not os.path.isfile(output_file): - # The output is a non-regular file (e.g. pipe). Write to it directly. - output_temp = output_file - else: - # The output is a regular file. Write to a temporary file, - # then move it into place atomically. - output_temp = output_file + '.tmp' - changelog.write(output_temp) - check_output(output_temp, input_file, merged_files) - if output_temp != output_file: - os.rename(output_temp, output_file) - -def remove_merged_entries(files_to_remove): - for filename in files_to_remove: - os.remove(filename) - -def list_files_to_merge(options): - """List the entry files to merge, oldest first. - - "Oldest" is defined by `EntryFileSortKey`. - """ - files_to_merge = glob.glob(os.path.join(options.dir, '*.txt')) - files_to_merge.sort(key=EntryFileSortKey) - return files_to_merge - -def merge_entries(options): - """Merge changelog entries into the changelog file. - - Read the changelog file from options.input. - Read entries to merge from the directory options.dir. - Write the new changelog to options.output. - Remove the merged entries if options.keep_entries is false. - """ - with open(options.input, 'rb') as input_file: - changelog = ChangeLog(input_file, TextChangelogFormat) - files_to_merge = list_files_to_merge(options) - if not files_to_merge: - sys.stderr.write('There are no pending changelog entries.\n') - return - for filename in files_to_merge: - with open(filename, 'rb') as input_file: - changelog.add_file(input_file) - finish_output(changelog, options.output, options.input, files_to_merge) - if not options.keep_entries: - remove_merged_entries(files_to_merge) - -def show_file_timestamps(options): - """List the files to merge and their timestamp. - - This is only intended for debugging purposes. - """ - files = list_files_to_merge(options) - for filename in files: - ts = EntryFileSortKey(filename) - print(ts.category, ts.datetime, filename) - -def set_defaults(options): - """Add default values for missing options.""" - output_file = getattr(options, 'output', None) - if output_file is None: - options.output = options.input - if getattr(options, 'keep_entries', None) is None: - options.keep_entries = (output_file is not None) - -def main(): - """Command line entry point.""" - parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument('--dir', '-d', metavar='DIR', - default='ChangeLog.d', - help='Directory to read entries from' - ' (default: ChangeLog.d)') - parser.add_argument('--input', '-i', metavar='FILE', - default='ChangeLog', - help='Existing changelog file to read from and augment' - ' (default: ChangeLog)') - parser.add_argument('--keep-entries', - action='store_true', dest='keep_entries', default=None, - help='Keep the files containing entries' - ' (default: remove them if --output/-o is not specified)') - parser.add_argument('--no-keep-entries', - action='store_false', dest='keep_entries', - help='Remove the files containing entries after they are merged' - ' (default: remove them if --output/-o is not specified)') - parser.add_argument('--output', '-o', metavar='FILE', - help='Output changelog file' - ' (default: overwrite the input)') - parser.add_argument('--list-files-only', - action='store_true', - help=('Only list the files that would be processed ' - '(with some debugging information)')) - options = parser.parse_args() - set_defaults(options) - if options.list_files_only: - show_file_timestamps(options) - return - merge_entries(options) - -if __name__ == '__main__': - main() diff --git a/lib/mbedtls-2.27.0/scripts/bump_version.sh b/lib/mbedtls-2.27.0/scripts/bump_version.sh deleted file mode 100755 index df629e9..0000000 --- a/lib/mbedtls-2.27.0/scripts/bump_version.sh +++ /dev/null @@ -1,154 +0,0 @@ -#!/bin/bash -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. -# -# Purpose -# -# Sets the version numbers in the source code to those given. -# -# Usage: bump_version.sh [ --version <version> ] [ --so-crypto <version>] -# [ --so-x509 <version> ] [ --so-tls <version> ] -# [ -v | --verbose ] [ -h | --help ] -# - -VERSION="" -SOVERSION="" - -# Parse arguments -# -until [ -z "$1" ] -do - case "$1" in - --version) - # Version to use - shift - VERSION=$1 - ;; - --so-crypto) - shift - SO_CRYPTO=$1 - ;; - --so-x509) - shift - SO_X509=$1 - ;; - --so-tls) - shift - SO_TLS=$1 - ;; - -v|--verbose) - # Be verbose - VERBOSE="1" - ;; - -h|--help) - # print help - echo "Usage: $0" - echo -e " -h|--help\t\tPrint this help." - echo -e " --version <version>\tVersion to bump to." - echo -e " --so-crypto <version>\tSO version to bump libmbedcrypto to." - echo -e " --so-x509 <version>\tSO version to bump libmbedx509 to." - echo -e " --so-tls <version>\tSO version to bump libmbedtls to." - echo -e " -v|--verbose\t\tVerbose." - exit 1 - ;; - *) - # print error - echo "Unknown argument: '$1'" - exit 1 - ;; - esac - shift -done - -if [ "X" = "X$VERSION" ]; -then - echo "No version specified. Unable to continue." - exit 1 -fi - -[ $VERBOSE ] && echo "Bumping VERSION in library/CMakeLists.txt" -sed -e "s/ VERSION [0-9.]\{1,\}/ VERSION $VERSION/g" < library/CMakeLists.txt > tmp -mv tmp library/CMakeLists.txt - -if [ "X" != "X$SO_CRYPTO" ]; -then - [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedcrypto in library/CMakeLists.txt" - sed -e "/mbedcrypto/ s/ SOVERSION [0-9]\{1,\}/ SOVERSION $SO_CRYPTO/g" < library/CMakeLists.txt > tmp - mv tmp library/CMakeLists.txt - - [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedcrypto in library/Makefile" - sed -e "s/SOEXT_CRYPTO=so.[0-9]\{1,\}/SOEXT_CRYPTO=so.$SO_CRYPTO/g" < library/Makefile > tmp - mv tmp library/Makefile -fi - -if [ "X" != "X$SO_X509" ]; -then - [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedx509 in library/CMakeLists.txt" - sed -e "/mbedx509/ s/ SOVERSION [0-9]\{1,\}/ SOVERSION $SO_X509/g" < library/CMakeLists.txt > tmp - mv tmp library/CMakeLists.txt - - [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedx509 in library/Makefile" - sed -e "s/SOEXT_X509=so.[0-9]\{1,\}/SOEXT_X509=so.$SO_X509/g" < library/Makefile > tmp - mv tmp library/Makefile -fi - -if [ "X" != "X$SO_TLS" ]; -then - [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedtls in library/CMakeLists.txt" - sed -e "/mbedtls/ s/ SOVERSION [0-9]\{1,\}/ SOVERSION $SO_TLS/g" < library/CMakeLists.txt > tmp - mv tmp library/CMakeLists.txt - - [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedtls in library/Makefile" - sed -e "s/SOEXT_TLS=so.[0-9]\{1,\}/SOEXT_TLS=so.$SO_TLS/g" < library/Makefile > tmp - mv tmp library/Makefile -fi - -[ $VERBOSE ] && echo "Bumping VERSION in include/mbedtls/version.h" -read MAJOR MINOR PATCH <<<$(IFS="."; echo $VERSION) -VERSION_NR="$( printf "0x%02X%02X%02X00" $MAJOR $MINOR $PATCH )" -cat include/mbedtls/version.h | \ - sed -e "s/_VERSION_MAJOR .\{1,\}/_VERSION_MAJOR $MAJOR/" | \ - sed -e "s/_VERSION_MINOR .\{1,\}/_VERSION_MINOR $MINOR/" | \ - sed -e "s/_VERSION_PATCH .\{1,\}/_VERSION_PATCH $PATCH/" | \ - sed -e "s/_VERSION_NUMBER .\{1,\}/_VERSION_NUMBER $VERSION_NR/" | \ - sed -e "s/_VERSION_STRING .\{1,\}/_VERSION_STRING \"$VERSION\"/" | \ - sed -e "s/_VERSION_STRING_FULL .\{1,\}/_VERSION_STRING_FULL \"mbed TLS $VERSION\"/" \ - > tmp -mv tmp include/mbedtls/version.h - -[ $VERBOSE ] && echo "Bumping version in tests/suites/test_suite_version.data" -sed -e "s/version:\".\{1,\}/version:\"$VERSION\"/g" < tests/suites/test_suite_version.data > tmp -mv tmp tests/suites/test_suite_version.data - -[ $VERBOSE ] && echo "Bumping PROJECT_NAME in doxygen/mbedtls.doxyfile and doxygen/input/doc_mainpage.h" -for i in doxygen/mbedtls.doxyfile doxygen/input/doc_mainpage.h; -do - sed -e "s/mbed TLS v[0-9\.]\{1,\}/mbed TLS v$VERSION/g" < $i > tmp - mv tmp $i -done - -[ $VERBOSE ] && echo "Re-generating library/error.c" -scripts/generate_errors.pl - -[ $VERBOSE ] && echo "Re-generating programs/test/query_config.c" -scripts/generate_query_config.pl - -[ $VERBOSE ] && echo "Re-generating library/version_features.c" -scripts/generate_features.pl - -[ $VERBOSE ] && echo "Re-generating visualc files" -scripts/generate_visualc_files.pl - diff --git a/lib/mbedtls-2.27.0/scripts/config.pl b/lib/mbedtls-2.27.0/scripts/config.pl deleted file mode 100755 index 5dd89d2..0000000 --- a/lib/mbedtls-2.27.0/scripts/config.pl +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env perl -# Backward compatibility redirection - -## Copyright The Mbed TLS Contributors -## SPDX-License-Identifier: Apache-2.0 -## -## Licensed 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. - -my $py = $0; -$py =~ s/\.pl$/.py/ or die "Unable to determine the name of the Python script"; -exec 'python3', $py, @ARGV; -print STDERR "$0: python3: $!. Trying python instead.\n"; -exec 'python', $py, @ARGV; -print STDERR "$0: python: $!\n"; -exit 127; diff --git a/lib/mbedtls-2.27.0/scripts/config.py b/lib/mbedtls-2.27.0/scripts/config.py deleted file mode 100755 index 01f570e..0000000 --- a/lib/mbedtls-2.27.0/scripts/config.py +++ /dev/null @@ -1,536 +0,0 @@ -#!/usr/bin/env python3 - -"""Mbed TLS configuration file manipulation library and tool - -Basic usage, to read the Mbed TLS or Mbed Crypto configuration: - config = ConfigFile() - if 'MBEDTLS_RSA_C' in config: print('RSA is enabled') -""" - -## Copyright The Mbed TLS Contributors -## SPDX-License-Identifier: Apache-2.0 -## -## Licensed 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. - -import os -import re - -class Setting: - """Representation of one Mbed TLS config.h setting. - - Fields: - * name: the symbol name ('MBEDTLS_xxx'). - * value: the value of the macro. The empty string for a plain #define - with no value. - * active: True if name is defined, False if a #define for name is - present in config.h but commented out. - * section: the name of the section that contains this symbol. - """ - # pylint: disable=too-few-public-methods - def __init__(self, active, name, value='', section=None): - self.active = active - self.name = name - self.value = value - self.section = section - -class Config: - """Representation of the Mbed TLS configuration. - - In the documentation of this class, a symbol is said to be *active* - if there is a #define for it that is not commented out, and *known* - if there is a #define for it whether commented out or not. - - This class supports the following protocols: - * `name in config` is `True` if the symbol `name` is active, `False` - otherwise (whether `name` is inactive or not known). - * `config[name]` is the value of the macro `name`. If `name` is inactive, - raise `KeyError` (even if `name` is known). - * `config[name] = value` sets the value associated to `name`. `name` - must be known, but does not need to be set. This does not cause - name to become set. - """ - - def __init__(self): - self.settings = {} - - def __contains__(self, name): - """True if the given symbol is active (i.e. set). - - False if the given symbol is not set, even if a definition - is present but commented out. - """ - return name in self.settings and self.settings[name].active - - def all(self, *names): - """True if all the elements of names are active (i.e. set).""" - return all(self.__contains__(name) for name in names) - - def any(self, *names): - """True if at least one symbol in names are active (i.e. set).""" - return any(self.__contains__(name) for name in names) - - def known(self, name): - """True if a #define for name is present, whether it's commented out or not.""" - return name in self.settings - - def __getitem__(self, name): - """Get the value of name, i.e. what the preprocessor symbol expands to. - - If name is not known, raise KeyError. name does not need to be active. - """ - return self.settings[name].value - - def get(self, name, default=None): - """Get the value of name. If name is inactive (not set), return default. - - If a #define for name is present and not commented out, return - its expansion, even if this is the empty string. - - If a #define for name is present but commented out, return default. - """ - if name in self.settings: - return self.settings[name].value - else: - return default - - def __setitem__(self, name, value): - """If name is known, set its value. - - If name is not known, raise KeyError. - """ - self.settings[name].value = value - - def set(self, name, value=None): - """Set name to the given value and make it active. - - If value is None and name is already known, don't change its value. - If value is None and name is not known, set its value to the empty - string. - """ - if name in self.settings: - if value is not None: - self.settings[name].value = value - self.settings[name].active = True - else: - self.settings[name] = Setting(True, name, value=value) - - def unset(self, name): - """Make name unset (inactive). - - name remains known if it was known before. - """ - if name not in self.settings: - return - self.settings[name].active = False - - def adapt(self, adapter): - """Run adapter on each known symbol and (de)activate it accordingly. - - `adapter` must be a function that returns a boolean. It is called as - `adapter(name, active, section)` for each setting, where `active` is - `True` if `name` is set and `False` if `name` is known but unset, - and `section` is the name of the section containing `name`. If - `adapter` returns `True`, then set `name` (i.e. make it active), - otherwise unset `name` (i.e. make it known but inactive). - """ - for setting in self.settings.values(): - setting.active = adapter(setting.name, setting.active, - setting.section) - -def is_full_section(section): - """Is this section affected by "config.py full" and friends?""" - return section.endswith('support') or section.endswith('modules') - -def realfull_adapter(_name, active, section): - """Activate all symbols found in the system and feature sections.""" - if not is_full_section(section): - return active - return True - -# The goal of the full configuration is to have everything that can be tested -# together. This includes deprecated or insecure options. It excludes: -# * Options that require additional build dependencies or unusual hardware. -# * Options that make testing less effective. -# * Options that are incompatible with other options, or more generally that -# interact with other parts of the code in such a way that a bulk enabling -# is not a good way to test them. -# * Options that remove features. -EXCLUDE_FROM_FULL = frozenset([ - #pylint: disable=line-too-long - 'MBEDTLS_CTR_DRBG_USE_128_BIT_KEY', # interacts with ENTROPY_FORCE_SHA256 - 'MBEDTLS_DEPRECATED_REMOVED', # conflicts with deprecated options - 'MBEDTLS_DEPRECATED_WARNING', # conflicts with deprecated options - 'MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED', # influences the use of ECDH in TLS - 'MBEDTLS_ECP_NO_FALLBACK', # removes internal ECP implementation - 'MBEDTLS_ECP_NO_INTERNAL_RNG', # removes a feature - 'MBEDTLS_ECP_RESTARTABLE', # incompatible with USE_PSA_CRYPTO - 'MBEDTLS_ENTROPY_FORCE_SHA256', # interacts with CTR_DRBG_128_BIT_KEY - 'MBEDTLS_HAVE_SSE2', # hardware dependency - 'MBEDTLS_MEMORY_BACKTRACE', # depends on MEMORY_BUFFER_ALLOC_C - 'MBEDTLS_MEMORY_BUFFER_ALLOC_C', # makes sanitizers (e.g. ASan) less effective - 'MBEDTLS_MEMORY_DEBUG', # depends on MEMORY_BUFFER_ALLOC_C - 'MBEDTLS_NO_64BIT_MULTIPLICATION', # influences anything that uses bignum - 'MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES', # removes a feature - 'MBEDTLS_NO_PLATFORM_ENTROPY', # removes a feature - 'MBEDTLS_NO_UDBL_DIVISION', # influences anything that uses bignum - 'MBEDTLS_PKCS11_C', # build dependency (libpkcs11-helper) - 'MBEDTLS_PLATFORM_NO_STD_FUNCTIONS', # removes a feature - 'MBEDTLS_PSA_CRYPTO_CONFIG', # toggles old/new style PSA config - 'MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG', # behavior change + build dependency - 'MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER', # incompatible with USE_PSA_CRYPTO - 'MBEDTLS_PSA_CRYPTO_SPM', # platform dependency (PSA SPM) - 'MBEDTLS_PSA_INJECT_ENTROPY', # build dependency (hook functions) - 'MBEDTLS_REMOVE_3DES_CIPHERSUITES', # removes a feature - 'MBEDTLS_REMOVE_ARC4_CIPHERSUITES', # removes a feature - 'MBEDTLS_RSA_NO_CRT', # influences the use of RSA in X.509 and TLS - 'MBEDTLS_SHA512_NO_SHA384', # removes a feature - 'MBEDTLS_SSL_HW_RECORD_ACCEL', # build dependency (hook functions) - 'MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN', # build dependency (clang+memsan) - 'MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND', # build dependency (valgrind headers) - 'MBEDTLS_TEST_NULL_ENTROPY', # removes a feature - 'MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION', # influences the use of X.509 in TLS - 'MBEDTLS_ZLIB_SUPPORT', # build dependency (libz) -]) - -def is_seamless_alt(name): - """Whether the xxx_ALT symbol should be included in the full configuration. - - Include alternative implementations of platform functions, which are - configurable function pointers that default to the built-in function. - This way we test that the function pointers exist and build correctly - without changing the behavior, and tests can verify that the function - pointers are used by modifying those pointers. - - Exclude alternative implementations of library functions since they require - an implementation of the relevant functions and an xxx_alt.h header. - """ - if name == 'MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT': - # Similar to non-platform xxx_ALT, requires platform_alt.h - return False - return name.startswith('MBEDTLS_PLATFORM_') - -def include_in_full(name): - """Rules for symbols in the "full" configuration.""" - if name in EXCLUDE_FROM_FULL: - return False - if name.endswith('_ALT'): - return is_seamless_alt(name) - return True - -def full_adapter(name, active, section): - """Config adapter for "full".""" - if not is_full_section(section): - return active - return include_in_full(name) - -# The baremetal configuration excludes options that require a library or -# operating system feature that is typically not present on bare metal -# systems. Features that are excluded from "full" won't be in "baremetal" -# either (unless explicitly turned on in baremetal_adapter) so they don't -# need to be repeated here. -EXCLUDE_FROM_BAREMETAL = frozenset([ - #pylint: disable=line-too-long - 'MBEDTLS_ENTROPY_NV_SEED', # requires a filesystem and FS_IO or alternate NV seed hooks - 'MBEDTLS_FS_IO', # requires a filesystem - 'MBEDTLS_HAVEGE_C', # requires a clock - 'MBEDTLS_HAVE_TIME', # requires a clock - 'MBEDTLS_HAVE_TIME_DATE', # requires a clock - 'MBEDTLS_NET_C', # requires POSIX-like networking - 'MBEDTLS_PLATFORM_FPRINTF_ALT', # requires FILE* from stdio.h - 'MBEDTLS_PLATFORM_NV_SEED_ALT', # requires a filesystem and ENTROPY_NV_SEED - 'MBEDTLS_PLATFORM_TIME_ALT', # requires a clock and HAVE_TIME - 'MBEDTLS_PSA_CRYPTO_SE_C', # requires a filesystem and PSA_CRYPTO_STORAGE_C - 'MBEDTLS_PSA_CRYPTO_STORAGE_C', # requires a filesystem - 'MBEDTLS_PSA_ITS_FILE_C', # requires a filesystem - 'MBEDTLS_THREADING_C', # requires a threading interface - 'MBEDTLS_THREADING_PTHREAD', # requires pthread - 'MBEDTLS_TIMING_C', # requires a clock -]) - -def keep_in_baremetal(name): - """Rules for symbols in the "baremetal" configuration.""" - if name in EXCLUDE_FROM_BAREMETAL: - return False - return True - -def baremetal_adapter(name, active, section): - """Config adapter for "baremetal".""" - if not is_full_section(section): - return active - if name == 'MBEDTLS_NO_PLATFORM_ENTROPY': - # No OS-provided entropy source - return True - return include_in_full(name) and keep_in_baremetal(name) - -def include_in_crypto(name): - """Rules for symbols in a crypto configuration.""" - if name.startswith('MBEDTLS_X509_') or \ - name.startswith('MBEDTLS_SSL_') or \ - name.startswith('MBEDTLS_KEY_EXCHANGE_'): - return False - if name in [ - 'MBEDTLS_CERTS_C', # part of libmbedx509 - 'MBEDTLS_DEBUG_C', # part of libmbedtls - 'MBEDTLS_NET_C', # part of libmbedtls - 'MBEDTLS_PKCS11_C', # part of libmbedx509 - ]: - return False - return True - -def crypto_adapter(adapter): - """Modify an adapter to disable non-crypto symbols. - - ``crypto_adapter(adapter)(name, active, section)`` is like - ``adapter(name, active, section)``, but unsets all X.509 and TLS symbols. - """ - def continuation(name, active, section): - if not include_in_crypto(name): - return False - if adapter is None: - return active - return adapter(name, active, section) - return continuation - -DEPRECATED = frozenset([ - 'MBEDTLS_SSL_PROTO_SSL3', - 'MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO', -]) - -def no_deprecated_adapter(adapter): - """Modify an adapter to disable deprecated symbols. - - ``no_deprecated_adapter(adapter)(name, active, section)`` is like - ``adapter(name, active, section)``, but unsets all deprecated symbols - and sets ``MBEDTLS_DEPRECATED_REMOVED``. - """ - def continuation(name, active, section): - if name == 'MBEDTLS_DEPRECATED_REMOVED': - return True - if name in DEPRECATED: - return False - if adapter is None: - return active - return adapter(name, active, section) - return continuation - -class ConfigFile(Config): - """Representation of the Mbed TLS configuration read for a file. - - See the documentation of the `Config` class for methods to query - and modify the configuration. - """ - - _path_in_tree = 'include/mbedtls/config.h' - default_path = [_path_in_tree, - os.path.join(os.path.dirname(__file__), - os.pardir, - _path_in_tree), - os.path.join(os.path.dirname(os.path.abspath(os.path.dirname(__file__))), - _path_in_tree)] - - def __init__(self, filename=None): - """Read the Mbed TLS configuration file.""" - if filename is None: - for candidate in self.default_path: - if os.path.lexists(candidate): - filename = candidate - break - else: - raise Exception('Mbed TLS configuration file not found', - self.default_path) - super().__init__() - self.filename = filename - self.current_section = 'header' - with open(filename, 'r', encoding='utf-8') as file: - self.templates = [self._parse_line(line) for line in file] - self.current_section = None - - def set(self, name, value=None): - if name not in self.settings: - self.templates.append((name, '', '#define ' + name + ' ')) - super().set(name, value) - - _define_line_regexp = (r'(?P<indentation>\s*)' + - r'(?P<commented_out>(//\s*)?)' + - r'(?P<define>#\s*define\s+)' + - r'(?P<name>\w+)' + - r'(?P<arguments>(?:\((?:\w|\s|,)*\))?)' + - r'(?P<separator>\s*)' + - r'(?P<value>.*)') - _section_line_regexp = (r'\s*/?\*+\s*[\\@]name\s+SECTION:\s*' + - r'(?P<section>.*)[ */]*') - _config_line_regexp = re.compile(r'|'.join([_define_line_regexp, - _section_line_regexp])) - def _parse_line(self, line): - """Parse a line in config.h and return the corresponding template.""" - line = line.rstrip('\r\n') - m = re.match(self._config_line_regexp, line) - if m is None: - return line - elif m.group('section'): - self.current_section = m.group('section') - return line - else: - active = not m.group('commented_out') - name = m.group('name') - value = m.group('value') - template = (name, - m.group('indentation'), - m.group('define') + name + - m.group('arguments') + m.group('separator')) - self.settings[name] = Setting(active, name, value, - self.current_section) - return template - - def _format_template(self, name, indent, middle): - """Build a line for config.h for the given setting. - - The line has the form "<indent>#define <name> <value>" - where <middle> is "#define <name> ". - """ - setting = self.settings[name] - value = setting.value - if value is None: - value = '' - # Normally the whitespace to separte the symbol name from the - # value is part of middle, and there's no whitespace for a symbol - # with no value. But if a symbol has been changed from having a - # value to not having one, the whitespace is wrong, so fix it. - if value: - if middle[-1] not in '\t ': - middle += ' ' - else: - middle = middle.rstrip() - return ''.join([indent, - '' if setting.active else '//', - middle, - value]).rstrip() - - def write_to_stream(self, output): - """Write the whole configuration to output.""" - for template in self.templates: - if isinstance(template, str): - line = template - else: - line = self._format_template(*template) - output.write(line + '\n') - - def write(self, filename=None): - """Write the whole configuration to the file it was read from. - - If filename is specified, write to this file instead. - """ - if filename is None: - filename = self.filename - with open(filename, 'w', encoding='utf-8') as output: - self.write_to_stream(output) - -if __name__ == '__main__': - def main(): - """Command line config.h manipulation tool.""" - parser = argparse.ArgumentParser(description=""" - Mbed TLS and Mbed Crypto configuration file manipulation tool. - """) - parser.add_argument('--file', '-f', - help="""File to read (and modify if requested). - Default: {}. - """.format(ConfigFile.default_path)) - parser.add_argument('--force', '-o', - action='store_true', - help="""For the set command, if SYMBOL is not - present, add a definition for it.""") - parser.add_argument('--write', '-w', metavar='FILE', - help="""File to write to instead of the input file.""") - subparsers = parser.add_subparsers(dest='command', - title='Commands') - parser_get = subparsers.add_parser('get', - help="""Find the value of SYMBOL - and print it. Exit with - status 0 if a #define for SYMBOL is - found, 1 otherwise. - """) - parser_get.add_argument('symbol', metavar='SYMBOL') - parser_set = subparsers.add_parser('set', - help="""Set SYMBOL to VALUE. - If VALUE is omitted, just uncomment - the #define for SYMBOL. - Error out of a line defining - SYMBOL (commented or not) is not - found, unless --force is passed. - """) - parser_set.add_argument('symbol', metavar='SYMBOL') - parser_set.add_argument('value', metavar='VALUE', nargs='?', - default='') - parser_unset = subparsers.add_parser('unset', - help="""Comment out the #define - for SYMBOL. Do nothing if none - is present.""") - parser_unset.add_argument('symbol', metavar='SYMBOL') - - def add_adapter(name, function, description): - subparser = subparsers.add_parser(name, help=description) - subparser.set_defaults(adapter=function) - add_adapter('baremetal', baremetal_adapter, - """Like full, but exclude features that require platform - features such as file input-output.""") - add_adapter('full', full_adapter, - """Uncomment most features. - Exclude alternative implementations and platform support - options, as well as some options that are awkward to test. - """) - add_adapter('full_no_deprecated', no_deprecated_adapter(full_adapter), - """Uncomment most non-deprecated features. - Like "full", but without deprecated features. - """) - add_adapter('realfull', realfull_adapter, - """Uncomment all boolean #defines. - Suitable for generating documentation, but not for building.""") - add_adapter('crypto', crypto_adapter(None), - """Only include crypto features. Exclude X.509 and TLS.""") - add_adapter('crypto_baremetal', crypto_adapter(baremetal_adapter), - """Like baremetal, but with only crypto features, - excluding X.509 and TLS.""") - add_adapter('crypto_full', crypto_adapter(full_adapter), - """Like full, but with only crypto features, - excluding X.509 and TLS.""") - - args = parser.parse_args() - config = ConfigFile(args.file) - if args.command is None: - parser.print_help() - return 1 - elif args.command == 'get': - if args.symbol in config: - value = config[args.symbol] - if value: - sys.stdout.write(value + '\n') - return 0 if args.symbol in config else 1 - elif args.command == 'set': - if not args.force and args.symbol not in config.settings: - sys.stderr.write("A #define for the symbol {} " - "was not found in {}\n" - .format(args.symbol, config.filename)) - return 1 - config.set(args.symbol, value=args.value) - elif args.command == 'unset': - config.unset(args.symbol) - else: - config.adapt(args.adapter) - config.write(args.write) - return 0 - - # Import modules only used by main only if main is defined and called. - # pylint: disable=wrong-import-position - import argparse - import sys - sys.exit(main()) diff --git a/lib/mbedtls-2.27.0/scripts/data_files/error.fmt b/lib/mbedtls-2.27.0/scripts/data_files/error.fmt deleted file mode 100644 index 3be94bd..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/error.fmt +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Error message information - * - * Copyright The Mbed TLS Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed 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 "common.h" - -#include "mbedtls/error.h" - -#if defined(MBEDTLS_ERROR_C) || defined(MBEDTLS_ERROR_STRERROR_DUMMY) - -#if defined(MBEDTLS_ERROR_C) - -#if defined(MBEDTLS_PLATFORM_C) -#include "mbedtls/platform.h" -#else -#define mbedtls_snprintf snprintf -#endif - -#include <stdio.h> -#include <string.h> - -HEADER_INCLUDED - -const char * mbedtls_high_level_strerr( int error_code ) -{ - int high_level_error_code; - - if( error_code < 0 ) - error_code = -error_code; - - /* Extract the high-level part from the error code. */ - high_level_error_code = error_code & 0xFF80; - - switch( high_level_error_code ) - { - /* Begin Auto-Generated Code. */ -HIGH_LEVEL_CODE_CHECKS - /* End Auto-Generated Code. */ - - default: - break; - } - - return( NULL ); -} - -const char * mbedtls_low_level_strerr( int error_code ) -{ - int low_level_error_code; - - if( error_code < 0 ) - error_code = -error_code; - - /* Extract the low-level part from the error code. */ - low_level_error_code = error_code & ~0xFF80; - - switch( low_level_error_code ) - { - /* Begin Auto-Generated Code. */ -LOW_LEVEL_CODE_CHECKS - /* End Auto-Generated Code. */ - - default: - break; - } - - return( NULL ); -} - -void mbedtls_strerror( int ret, char *buf, size_t buflen ) -{ - size_t len; - int use_ret; - const char * high_level_error_description = NULL; - const char * low_level_error_description = NULL; - - if( buflen == 0 ) - return; - - memset( buf, 0x00, buflen ); - - if( ret < 0 ) - ret = -ret; - - if( ret & 0xFF80 ) - { - use_ret = ret & 0xFF80; - - // Translate high level error code. - high_level_error_description = mbedtls_high_level_strerr( ret ); - - if( high_level_error_description == NULL ) - mbedtls_snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", (unsigned int) use_ret ); - else - mbedtls_snprintf( buf, buflen, "%s", high_level_error_description ); - -#if defined(MBEDTLS_SSL_TLS_C) - // Early return in case of a fatal error - do not try to translate low - // level code. - if(use_ret == -(MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE)) - return; -#endif /* MBEDTLS_SSL_TLS_C */ - } - - use_ret = ret & ~0xFF80; - - if( use_ret == 0 ) - return; - - // If high level code is present, make a concatenation between both - // error strings. - // - len = strlen( buf ); - - if( len > 0 ) - { - if( buflen - len < 5 ) - return; - - mbedtls_snprintf( buf + len, buflen - len, " : " ); - - buf += len + 3; - buflen -= len + 3; - } - - // Translate low level error code. - low_level_error_description = mbedtls_low_level_strerr( ret ); - - if( low_level_error_description == NULL ) - mbedtls_snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", (unsigned int) use_ret ); - else - mbedtls_snprintf( buf, buflen, "%s", low_level_error_description ); -} - -#else /* MBEDTLS_ERROR_C */ - -/* - * Provide an non-function in case MBEDTLS_ERROR_C is not defined - */ -void mbedtls_strerror( int ret, char *buf, size_t buflen ) -{ - ((void) ret); - - if( buflen > 0 ) - buf[0] = '\0'; -} - -#endif /* MBEDTLS_ERROR_C */ - -#if defined(MBEDTLS_TEST_HOOKS) -void (*mbedtls_test_hook_error_add)( int, int, const char *, int ); -#endif - -#endif /* MBEDTLS_ERROR_C || MBEDTLS_ERROR_STRERROR_DUMMY */ diff --git a/lib/mbedtls-2.27.0/scripts/data_files/query_config.fmt b/lib/mbedtls-2.27.0/scripts/data_files/query_config.fmt deleted file mode 100644 index be541cb..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/query_config.fmt +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Query Mbed TLS compile time configurations from config.h - * - * Copyright The Mbed TLS Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed 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. - */ - -#if !defined(MBEDTLS_CONFIG_FILE) -#include "mbedtls/config.h" -#else -#include MBEDTLS_CONFIG_FILE -#endif - -#include "query_config.h" - -#if defined(MBEDTLS_PLATFORM_C) -#include "mbedtls/platform.h" -#else -#include <stdio.h> -#define mbedtls_printf printf -#endif /* MBEDTLS_PLATFORM_C */ - -/* - * Include all the headers with public APIs in case they define a macro to its - * default value when that configuration is not set in the config.h. - */ -#include "mbedtls/aes.h" -#include "mbedtls/aesni.h" -#include "mbedtls/arc4.h" -#include "mbedtls/aria.h" -#include "mbedtls/asn1.h" -#include "mbedtls/asn1write.h" -#include "mbedtls/base64.h" -#include "mbedtls/bignum.h" -#include "mbedtls/blowfish.h" -#include "mbedtls/camellia.h" -#include "mbedtls/ccm.h" -#include "mbedtls/certs.h" -#include "mbedtls/chacha20.h" -#include "mbedtls/chachapoly.h" -#include "mbedtls/cipher.h" -#include "mbedtls/cmac.h" -#include "mbedtls/ctr_drbg.h" -#include "mbedtls/debug.h" -#include "mbedtls/des.h" -#include "mbedtls/dhm.h" -#include "mbedtls/ecdh.h" -#include "mbedtls/ecdsa.h" -#include "mbedtls/ecjpake.h" -#include "mbedtls/ecp.h" -#include "mbedtls/entropy.h" -#include "mbedtls/entropy_poll.h" -#include "mbedtls/error.h" -#include "mbedtls/gcm.h" -#include "mbedtls/havege.h" -#include "mbedtls/hkdf.h" -#include "mbedtls/hmac_drbg.h" -#include "mbedtls/md.h" -#include "mbedtls/md2.h" -#include "mbedtls/md4.h" -#include "mbedtls/md5.h" -#include "mbedtls/memory_buffer_alloc.h" -#include "mbedtls/net_sockets.h" -#include "mbedtls/nist_kw.h" -#include "mbedtls/oid.h" -#include "mbedtls/padlock.h" -#include "mbedtls/pem.h" -#include "mbedtls/pk.h" -#include "mbedtls/pkcs11.h" -#include "mbedtls/pkcs12.h" -#include "mbedtls/pkcs5.h" -#include "mbedtls/platform_time.h" -#include "mbedtls/platform_util.h" -#include "mbedtls/poly1305.h" -#include "mbedtls/ripemd160.h" -#include "mbedtls/rsa.h" -#include "mbedtls/sha1.h" -#include "mbedtls/sha256.h" -#include "mbedtls/sha512.h" -#include "mbedtls/ssl.h" -#include "mbedtls/ssl_cache.h" -#include "mbedtls/ssl_ciphersuites.h" -#include "mbedtls/ssl_cookie.h" -#include "mbedtls/ssl_internal.h" -#include "mbedtls/ssl_ticket.h" -#include "mbedtls/threading.h" -#include "mbedtls/timing.h" -#include "mbedtls/version.h" -#include "mbedtls/x509.h" -#include "mbedtls/x509_crl.h" -#include "mbedtls/x509_crt.h" -#include "mbedtls/x509_csr.h" -#include "mbedtls/xtea.h" - -#include <string.h> - -/* - * Helper macros to convert a macro or its expansion into a string - * WARNING: This does not work for expanding function-like macros. However, - * Mbed TLS does not currently have configuration options used in this fashion. - */ -#define MACRO_EXPANSION_TO_STR(macro) MACRO_NAME_TO_STR(macro) -#define MACRO_NAME_TO_STR(macro) \ - mbedtls_printf( "%s", strlen( #macro "" ) > 0 ? #macro "\n" : "" ) - -#if defined(_MSC_VER) -/* - * Visual Studio throws the warning 4003 because many Mbed TLS feature macros - * are defined empty. This means that from the preprocessor's point of view - * the macro MBEDTLS_EXPANSION_TO_STR is being invoked without arguments as - * some macros expand to nothing. We suppress that specific warning to get a - * clean build and to ensure that tests treating warnings as errors do not - * fail. - */ -#pragma warning(push) -#pragma warning(disable:4003) -#endif /* _MSC_VER */ - -int query_config( const char *config ) -{ -CHECK_CONFIG /* If the symbol is not found, return an error */ - return( 1 ); -} - -#if defined(_MSC_VER) -#pragma warning(pop) -#endif /* _MSC_VER */ diff --git a/lib/mbedtls-2.27.0/scripts/data_files/rename-1.3-2.0.txt b/lib/mbedtls-2.27.0/scripts/data_files/rename-1.3-2.0.txt deleted file mode 100644 index e599ac5..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/rename-1.3-2.0.txt +++ /dev/null @@ -1,2174 +0,0 @@ -AES_DECRYPT MBEDTLS_AES_DECRYPT -AES_ENCRYPT MBEDTLS_AES_ENCRYPT -ASN1_BIT_STRING MBEDTLS_ASN1_BIT_STRING -ASN1_BMP_STRING MBEDTLS_ASN1_BMP_STRING -ASN1_BOOLEAN MBEDTLS_ASN1_BOOLEAN -ASN1_CHK_ADD MBEDTLS_ASN1_CHK_ADD -ASN1_CONSTRUCTED MBEDTLS_ASN1_CONSTRUCTED -ASN1_CONTEXT_SPECIFIC MBEDTLS_ASN1_CONTEXT_SPECIFIC -ASN1_GENERALIZED_TIME MBEDTLS_ASN1_GENERALIZED_TIME -ASN1_IA5_STRING MBEDTLS_ASN1_IA5_STRING -ASN1_INTEGER MBEDTLS_ASN1_INTEGER -ASN1_NULL MBEDTLS_ASN1_NULL -ASN1_OCTET_STRING MBEDTLS_ASN1_OCTET_STRING -ASN1_OID MBEDTLS_ASN1_OID -ASN1_PRIMITIVE MBEDTLS_ASN1_PRIMITIVE -ASN1_PRINTABLE_STRING MBEDTLS_ASN1_PRINTABLE_STRING -ASN1_SEQUENCE MBEDTLS_ASN1_SEQUENCE -ASN1_SET MBEDTLS_ASN1_SET -ASN1_T61_STRING MBEDTLS_ASN1_T61_STRING -ASN1_UNIVERSAL_STRING MBEDTLS_ASN1_UNIVERSAL_STRING -ASN1_UTC_TIME MBEDTLS_ASN1_UTC_TIME -ASN1_UTF8_STRING MBEDTLS_ASN1_UTF8_STRING -BADCERT_CN_MISMATCH MBEDTLS_X509_BADCERT_CN_MISMATCH -BADCERT_EXPIRED MBEDTLS_X509_BADCERT_EXPIRED -BADCERT_EXT_KEY_USAGE MBEDTLS_X509_BADCERT_EXT_KEY_USAGE -BADCERT_FUTURE MBEDTLS_X509_BADCERT_FUTURE -BADCERT_KEY_USAGE MBEDTLS_X509_BADCERT_KEY_USAGE -BADCERT_MISSING MBEDTLS_X509_BADCERT_MISSING -BADCERT_NOT_TRUSTED MBEDTLS_X509_BADCERT_NOT_TRUSTED -BADCERT_NS_CERT_TYPE MBEDTLS_X509_BADCERT_NS_CERT_TYPE -BADCERT_OTHER MBEDTLS_X509_BADCERT_OTHER -BADCERT_REVOKED MBEDTLS_X509_BADCERT_REVOKED -BADCERT_SKIP_VERIFY MBEDTLS_X509_BADCERT_SKIP_VERIFY -BADCRL_EXPIRED MBEDTLS_X509_BADCRL_EXPIRED -BADCRL_FUTURE MBEDTLS_X509_BADCRL_FUTURE -BADCRL_NOT_TRUSTED MBEDTLS_X509_BADCRL_NOT_TRUSTED -BLOWFISH_BLOCKSIZE MBEDTLS_BLOWFISH_BLOCKSIZE -BLOWFISH_DECRYPT MBEDTLS_BLOWFISH_DECRYPT -BLOWFISH_ENCRYPT MBEDTLS_BLOWFISH_ENCRYPT -BLOWFISH_MAX_KEY MBEDTLS_BLOWFISH_MAX_KEY_BITS -BLOWFISH_MIN_KEY MBEDTLS_BLOWFISH_MIN_KEY_BITS -BLOWFISH_ROUNDS MBEDTLS_BLOWFISH_ROUNDS -CAMELLIA_DECRYPT MBEDTLS_CAMELLIA_DECRYPT -CAMELLIA_ENCRYPT MBEDTLS_CAMELLIA_ENCRYPT -COLLECT_SIZE MBEDTLS_HAVEGE_COLLECT_SIZE -CTR_DRBG_BLOCKSIZE MBEDTLS_CTR_DRBG_BLOCKSIZE -CTR_DRBG_ENTROPY_LEN MBEDTLS_CTR_DRBG_ENTROPY_LEN -CTR_DRBG_KEYBITS MBEDTLS_CTR_DRBG_KEYBITS -CTR_DRBG_KEYSIZE MBEDTLS_CTR_DRBG_KEYSIZE -CTR_DRBG_MAX_INPUT MBEDTLS_CTR_DRBG_MAX_INPUT -CTR_DRBG_MAX_REQUEST MBEDTLS_CTR_DRBG_MAX_REQUEST -CTR_DRBG_MAX_SEED_INPUT MBEDTLS_CTR_DRBG_MAX_SEED_INPUT -CTR_DRBG_PR_OFF MBEDTLS_CTR_DRBG_PR_OFF -CTR_DRBG_PR_ON MBEDTLS_CTR_DRBG_PR_ON -CTR_DRBG_RESEED_INTERVAL MBEDTLS_CTR_DRBG_RESEED_INTERVAL -CTR_DRBG_SEEDLEN MBEDTLS_CTR_DRBG_SEEDLEN -DEPRECATED MBEDTLS_DEPRECATED -DES_DECRYPT MBEDTLS_DES_DECRYPT -DES_ENCRYPT MBEDTLS_DES_ENCRYPT -DES_KEY_SIZE MBEDTLS_DES_KEY_SIZE -ENTROPY_BLOCK_SIZE MBEDTLS_ENTROPY_BLOCK_SIZE -ENTROPY_MAX_GATHER MBEDTLS_ENTROPY_MAX_GATHER -ENTROPY_MAX_SEED_SIZE MBEDTLS_ENTROPY_MAX_SEED_SIZE -ENTROPY_MAX_SOURCES MBEDTLS_ENTROPY_MAX_SOURCES -ENTROPY_MIN_HARDCLOCK MBEDTLS_ENTROPY_MIN_HARDCLOCK -ENTROPY_MIN_HAVEGE MBEDTLS_ENTROPY_MIN_HAVEGE -ENTROPY_MIN_PLATFORM MBEDTLS_ENTROPY_MIN_PLATFORM -ENTROPY_SOURCE_MANUAL MBEDTLS_ENTROPY_SOURCE_MANUAL -EXT_AUTHORITY_KEY_IDENTIFIER MBEDTLS_X509_EXT_AUTHORITY_KEY_IDENTIFIER -EXT_BASIC_CONSTRAINTS MBEDTLS_X509_EXT_BASIC_CONSTRAINTS -EXT_CERTIFICATE_POLICIES MBEDTLS_X509_EXT_CERTIFICATE_POLICIES -EXT_CRL_DISTRIBUTION_POINTS MBEDTLS_X509_EXT_CRL_DISTRIBUTION_POINTS -EXT_EXTENDED_KEY_USAGE MBEDTLS_X509_EXT_EXTENDED_KEY_USAGE -EXT_FRESHEST_CRL MBEDTLS_X509_EXT_FRESHEST_CRL -EXT_INIHIBIT_ANYPOLICY MBEDTLS_X509_EXT_INIHIBIT_ANYPOLICY -EXT_ISSUER_ALT_NAME MBEDTLS_X509_EXT_ISSUER_ALT_NAME -EXT_KEY_USAGE MBEDTLS_X509_EXT_KEY_USAGE -EXT_NAME_CONSTRAINTS MBEDTLS_X509_EXT_NAME_CONSTRAINTS -EXT_NS_CERT_TYPE MBEDTLS_X509_EXT_NS_CERT_TYPE -EXT_POLICY_CONSTRAINTS MBEDTLS_X509_EXT_POLICY_CONSTRAINTS -EXT_POLICY_MAPPINGS MBEDTLS_X509_EXT_POLICY_MAPPINGS -EXT_SUBJECT_ALT_NAME MBEDTLS_X509_EXT_SUBJECT_ALT_NAME -EXT_SUBJECT_DIRECTORY_ATTRS MBEDTLS_X509_EXT_SUBJECT_DIRECTORY_ATTRS -EXT_SUBJECT_KEY_IDENTIFIER MBEDTLS_X509_EXT_SUBJECT_KEY_IDENTIFIER -GCM_DECRYPT MBEDTLS_GCM_DECRYPT -GCM_ENCRYPT MBEDTLS_GCM_ENCRYPT -KU_CRL_SIGN MBEDTLS_X509_KU_CRL_SIGN -KU_DATA_ENCIPHERMENT MBEDTLS_X509_KU_DATA_ENCIPHERMENT -KU_DIGITAL_SIGNATURE MBEDTLS_X509_KU_DIGITAL_SIGNATURE -KU_KEY_AGREEMENT MBEDTLS_X509_KU_KEY_AGREEMENT -KU_KEY_CERT_SIGN MBEDTLS_X509_KU_KEY_CERT_SIGN -KU_KEY_ENCIPHERMENT MBEDTLS_X509_KU_KEY_ENCIPHERMENT -KU_NON_REPUDIATION MBEDTLS_X509_KU_NON_REPUDIATION -LN_2_DIV_LN_10_SCALE100 MBEDTLS_LN_2_DIV_LN_10_SCALE100 -MD_CONTEXT_T_INIT MBEDTLS_MD_CONTEXT_T_INIT -MEMORY_VERIFY_ALLOC MBEDTLS_MEMORY_VERIFY_ALLOC -MEMORY_VERIFY_ALWAYS MBEDTLS_MEMORY_VERIFY_ALWAYS -MEMORY_VERIFY_FREE MBEDTLS_MEMORY_VERIFY_FREE -MEMORY_VERIFY_NONE MBEDTLS_MEMORY_VERIFY_NONE -MPI_CHK MBEDTLS_MPI_CHK -NET_PROTO_TCP MBEDTLS_NET_PROTO_TCP -NET_PROTO_UDP MBEDTLS_NET_PROTO_UDP -NS_CERT_TYPE_EMAIL MBEDTLS_X509_NS_CERT_TYPE_EMAIL -NS_CERT_TYPE_EMAIL_CA MBEDTLS_X509_NS_CERT_TYPE_EMAIL_CA -NS_CERT_TYPE_OBJECT_SIGNING MBEDTLS_X509_NS_CERT_TYPE_OBJECT_SIGNING -NS_CERT_TYPE_OBJECT_SIGNING_CA MBEDTLS_X509_NS_CERT_TYPE_OBJECT_SIGNING_CA -NS_CERT_TYPE_RESERVED MBEDTLS_X509_NS_CERT_TYPE_RESERVED -NS_CERT_TYPE_SSL_CA MBEDTLS_X509_NS_CERT_TYPE_SSL_CA -NS_CERT_TYPE_SSL_CLIENT MBEDTLS_X509_NS_CERT_TYPE_SSL_CLIENT -NS_CERT_TYPE_SSL_SERVER MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER -OID_ANSI_X9_62 MBEDTLS_OID_ANSI_X9_62 -OID_ANSI_X9_62_FIELD_TYPE MBEDTLS_OID_ANSI_X9_62_FIELD_TYPE -OID_ANSI_X9_62_PRIME_FIELD MBEDTLS_OID_ANSI_X9_62_PRIME_FIELD -OID_ANSI_X9_62_SIG MBEDTLS_OID_ANSI_X9_62_SIG -OID_ANSI_X9_62_SIG_SHA2 MBEDTLS_OID_ANSI_X9_62_SIG_SHA2 -OID_ANY_EXTENDED_KEY_USAGE MBEDTLS_OID_ANY_EXTENDED_KEY_USAGE -OID_AT MBEDTLS_OID_AT -OID_AT_CN MBEDTLS_OID_AT_CN -OID_AT_COUNTRY MBEDTLS_OID_AT_COUNTRY -OID_AT_DN_QUALIFIER MBEDTLS_OID_AT_DN_QUALIFIER -OID_AT_GENERATION_QUALIFIER MBEDTLS_OID_AT_GENERATION_QUALIFIER -OID_AT_GIVEN_NAME MBEDTLS_OID_AT_GIVEN_NAME -OID_AT_INITIALS MBEDTLS_OID_AT_INITIALS -OID_AT_LOCALITY MBEDTLS_OID_AT_LOCALITY -OID_AT_ORGANIZATION MBEDTLS_OID_AT_ORGANIZATION -OID_AT_ORG_UNIT MBEDTLS_OID_AT_ORG_UNIT -OID_AT_POSTAL_ADDRESS MBEDTLS_OID_AT_POSTAL_ADDRESS -OID_AT_POSTAL_CODE MBEDTLS_OID_AT_POSTAL_CODE -OID_AT_PSEUDONYM MBEDTLS_OID_AT_PSEUDONYM -OID_AT_SERIAL_NUMBER MBEDTLS_OID_AT_SERIAL_NUMBER -OID_AT_STATE MBEDTLS_OID_AT_STATE -OID_AT_SUR_NAME MBEDTLS_OID_AT_SUR_NAME -OID_AT_TITLE MBEDTLS_OID_AT_TITLE -OID_AT_UNIQUE_IDENTIFIER MBEDTLS_OID_AT_UNIQUE_IDENTIFIER -OID_AUTHORITY_KEY_IDENTIFIER MBEDTLS_OID_AUTHORITY_KEY_IDENTIFIER -OID_BASIC_CONSTRAINTS MBEDTLS_OID_BASIC_CONSTRAINTS -OID_CERTICOM MBEDTLS_OID_CERTICOM -OID_CERTIFICATE_POLICIES MBEDTLS_OID_CERTIFICATE_POLICIES -OID_CLIENT_AUTH MBEDTLS_OID_CLIENT_AUTH -OID_CMP MBEDTLS_OID_CMP -OID_CODE_SIGNING MBEDTLS_OID_CODE_SIGNING -OID_COUNTRY_US MBEDTLS_OID_COUNTRY_US -OID_CRL_DISTRIBUTION_POINTS MBEDTLS_OID_CRL_DISTRIBUTION_POINTS -OID_CRL_NUMBER MBEDTLS_OID_CRL_NUMBER -OID_DES_CBC MBEDTLS_OID_DES_CBC -OID_DES_EDE3_CBC MBEDTLS_OID_DES_EDE3_CBC -OID_DIGEST_ALG_MD2 MBEDTLS_OID_DIGEST_ALG_MD2 -OID_DIGEST_ALG_MD4 MBEDTLS_OID_DIGEST_ALG_MD4 -OID_DIGEST_ALG_MD5 MBEDTLS_OID_DIGEST_ALG_MD5 -OID_DIGEST_ALG_SHA1 MBEDTLS_OID_DIGEST_ALG_SHA1 -OID_DIGEST_ALG_SHA224 MBEDTLS_OID_DIGEST_ALG_SHA224 -OID_DIGEST_ALG_SHA256 MBEDTLS_OID_DIGEST_ALG_SHA256 -OID_DIGEST_ALG_SHA384 MBEDTLS_OID_DIGEST_ALG_SHA384 -OID_DIGEST_ALG_SHA512 MBEDTLS_OID_DIGEST_ALG_SHA512 -OID_DOMAIN_COMPONENT MBEDTLS_OID_DOMAIN_COMPONENT -OID_ECDSA_SHA1 MBEDTLS_OID_ECDSA_SHA1 -OID_ECDSA_SHA224 MBEDTLS_OID_ECDSA_SHA224 -OID_ECDSA_SHA256 MBEDTLS_OID_ECDSA_SHA256 -OID_ECDSA_SHA384 MBEDTLS_OID_ECDSA_SHA384 -OID_ECDSA_SHA512 MBEDTLS_OID_ECDSA_SHA512 -OID_EC_ALG_ECDH MBEDTLS_OID_EC_ALG_ECDH -OID_EC_ALG_UNRESTRICTED MBEDTLS_OID_EC_ALG_UNRESTRICTED -OID_EC_BRAINPOOL_V1 MBEDTLS_OID_EC_BRAINPOOL_V1 -OID_EC_GRP_BP256R1 MBEDTLS_OID_EC_GRP_BP256R1 -OID_EC_GRP_BP384R1 MBEDTLS_OID_EC_GRP_BP384R1 -OID_EC_GRP_BP512R1 MBEDTLS_OID_EC_GRP_BP512R1 -OID_EC_GRP_SECP192K1 MBEDTLS_OID_EC_GRP_SECP192K1 -OID_EC_GRP_SECP192R1 MBEDTLS_OID_EC_GRP_SECP192R1 -OID_EC_GRP_SECP224K1 MBEDTLS_OID_EC_GRP_SECP224K1 -OID_EC_GRP_SECP224R1 MBEDTLS_OID_EC_GRP_SECP224R1 -OID_EC_GRP_SECP256K1 MBEDTLS_OID_EC_GRP_SECP256K1 -OID_EC_GRP_SECP256R1 MBEDTLS_OID_EC_GRP_SECP256R1 -OID_EC_GRP_SECP384R1 MBEDTLS_OID_EC_GRP_SECP384R1 -OID_EC_GRP_SECP521R1 MBEDTLS_OID_EC_GRP_SECP521R1 -OID_EMAIL_PROTECTION MBEDTLS_OID_EMAIL_PROTECTION -OID_EXTENDED_KEY_USAGE MBEDTLS_OID_EXTENDED_KEY_USAGE -OID_FRESHEST_CRL MBEDTLS_OID_FRESHEST_CRL -OID_GOV MBEDTLS_OID_GOV -OID_HMAC_SHA1 MBEDTLS_OID_HMAC_SHA1 -OID_ID_CE MBEDTLS_OID_ID_CE -OID_INIHIBIT_ANYPOLICY MBEDTLS_OID_INIHIBIT_ANYPOLICY -OID_ISO_CCITT_DS MBEDTLS_OID_ISO_CCITT_DS -OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_ISO_IDENTIFIED_ORG -OID_ISO_ITU_COUNTRY MBEDTLS_OID_ISO_ITU_COUNTRY -OID_ISO_ITU_US_ORG MBEDTLS_OID_ISO_ITU_US_ORG -OID_ISO_MEMBER_BODIES MBEDTLS_OID_ISO_MEMBER_BODIES -OID_ISSUER_ALT_NAME MBEDTLS_OID_ISSUER_ALT_NAME -OID_KEY_USAGE MBEDTLS_OID_KEY_USAGE -OID_KP MBEDTLS_OID_KP -OID_MGF1 MBEDTLS_OID_MGF1 -OID_NAME_CONSTRAINTS MBEDTLS_OID_NAME_CONSTRAINTS -OID_NETSCAPE MBEDTLS_OID_NETSCAPE -OID_NS_BASE_URL MBEDTLS_OID_NS_BASE_URL -OID_NS_CA_POLICY_URL MBEDTLS_OID_NS_CA_POLICY_URL -OID_NS_CA_REVOCATION_URL MBEDTLS_OID_NS_CA_REVOCATION_URL -OID_NS_CERT MBEDTLS_OID_NS_CERT -OID_NS_CERT_SEQUENCE MBEDTLS_OID_NS_CERT_SEQUENCE -OID_NS_CERT_TYPE MBEDTLS_OID_NS_CERT_TYPE -OID_NS_COMMENT MBEDTLS_OID_NS_COMMENT -OID_NS_DATA_TYPE MBEDTLS_OID_NS_DATA_TYPE -OID_NS_RENEWAL_URL MBEDTLS_OID_NS_RENEWAL_URL -OID_NS_REVOCATION_URL MBEDTLS_OID_NS_REVOCATION_URL -OID_NS_SSL_SERVER_NAME MBEDTLS_OID_NS_SSL_SERVER_NAME -OID_OCSP_SIGNING MBEDTLS_OID_OCSP_SIGNING -OID_OIW_SECSIG MBEDTLS_OID_OIW_SECSIG -OID_OIW_SECSIG_ALG MBEDTLS_OID_OIW_SECSIG_ALG -OID_OIW_SECSIG_SHA1 MBEDTLS_OID_OIW_SECSIG_SHA1 -OID_ORGANIZATION MBEDTLS_OID_ORGANIZATION -OID_ORG_ANSI_X9_62 MBEDTLS_OID_ORG_ANSI_X9_62 -OID_ORG_CERTICOM MBEDTLS_OID_ORG_CERTICOM -OID_ORG_DOD MBEDTLS_OID_ORG_DOD -OID_ORG_GOV MBEDTLS_OID_ORG_GOV -OID_ORG_NETSCAPE MBEDTLS_OID_ORG_NETSCAPE -OID_ORG_OIW MBEDTLS_OID_ORG_OIW -OID_ORG_RSA_DATA_SECURITY MBEDTLS_OID_ORG_RSA_DATA_SECURITY -OID_ORG_TELETRUST MBEDTLS_OID_ORG_TELETRUST -OID_PKCS MBEDTLS_OID_PKCS -OID_PKCS1 MBEDTLS_OID_PKCS1 -OID_PKCS12 MBEDTLS_OID_PKCS12 -OID_PKCS12_PBE MBEDTLS_OID_PKCS12_PBE -OID_PKCS12_PBE_SHA1_DES2_EDE_CBC MBEDTLS_OID_PKCS12_PBE_SHA1_DES2_EDE_CBC -OID_PKCS12_PBE_SHA1_DES3_EDE_CBC MBEDTLS_OID_PKCS12_PBE_SHA1_DES3_EDE_CBC -OID_PKCS12_PBE_SHA1_RC2_128_CBC MBEDTLS_OID_PKCS12_PBE_SHA1_RC2_128_CBC -OID_PKCS12_PBE_SHA1_RC2_40_CBC MBEDTLS_OID_PKCS12_PBE_SHA1_RC2_40_CBC -OID_PKCS12_PBE_SHA1_RC4_128 MBEDTLS_OID_PKCS12_PBE_SHA1_RC4_128 -OID_PKCS12_PBE_SHA1_RC4_40 MBEDTLS_OID_PKCS12_PBE_SHA1_RC4_40 -OID_PKCS1_MD2 MBEDTLS_OID_PKCS1_MD2 -OID_PKCS1_MD4 MBEDTLS_OID_PKCS1_MD4 -OID_PKCS1_MD5 MBEDTLS_OID_PKCS1_MD5 -OID_PKCS1_RSA MBEDTLS_OID_PKCS1_RSA -OID_PKCS1_SHA1 MBEDTLS_OID_PKCS1_SHA1 -OID_PKCS1_SHA224 MBEDTLS_OID_PKCS1_SHA224 -OID_PKCS1_SHA256 MBEDTLS_OID_PKCS1_SHA256 -OID_PKCS1_SHA384 MBEDTLS_OID_PKCS1_SHA384 -OID_PKCS1_SHA512 MBEDTLS_OID_PKCS1_SHA512 -OID_PKCS5 MBEDTLS_OID_PKCS5 -OID_PKCS5_PBES2 MBEDTLS_OID_PKCS5_PBES2 -OID_PKCS5_PBE_MD2_DES_CBC MBEDTLS_OID_PKCS5_PBE_MD2_DES_CBC -OID_PKCS5_PBE_MD2_RC2_CBC MBEDTLS_OID_PKCS5_PBE_MD2_RC2_CBC -OID_PKCS5_PBE_MD5_DES_CBC MBEDTLS_OID_PKCS5_PBE_MD5_DES_CBC -OID_PKCS5_PBE_MD5_RC2_CBC MBEDTLS_OID_PKCS5_PBE_MD5_RC2_CBC -OID_PKCS5_PBE_SHA1_DES_CBC MBEDTLS_OID_PKCS5_PBE_SHA1_DES_CBC -OID_PKCS5_PBE_SHA1_RC2_CBC MBEDTLS_OID_PKCS5_PBE_SHA1_RC2_CBC -OID_PKCS5_PBKDF2 MBEDTLS_OID_PKCS5_PBKDF2 -OID_PKCS5_PBMAC1 MBEDTLS_OID_PKCS5_PBMAC1 -OID_PKCS9 MBEDTLS_OID_PKCS9 -OID_PKCS9_CSR_EXT_REQ MBEDTLS_OID_PKCS9_CSR_EXT_REQ -OID_PKCS9_EMAIL MBEDTLS_OID_PKCS9_EMAIL -OID_PKIX MBEDTLS_OID_PKIX -OID_POLICY_CONSTRAINTS MBEDTLS_OID_POLICY_CONSTRAINTS -OID_POLICY_MAPPINGS MBEDTLS_OID_POLICY_MAPPINGS -OID_PRIVATE_KEY_USAGE_PERIOD MBEDTLS_OID_PRIVATE_KEY_USAGE_PERIOD -OID_RSASSA_PSS MBEDTLS_OID_RSASSA_PSS -OID_RSA_COMPANY MBEDTLS_OID_RSA_COMPANY -OID_RSA_SHA_OBS MBEDTLS_OID_RSA_SHA_OBS -OID_SERVER_AUTH MBEDTLS_OID_SERVER_AUTH -OID_SIZE MBEDTLS_OID_SIZE -OID_SUBJECT_ALT_NAME MBEDTLS_OID_SUBJECT_ALT_NAME -OID_SUBJECT_DIRECTORY_ATTRS MBEDTLS_OID_SUBJECT_DIRECTORY_ATTRS -OID_SUBJECT_KEY_IDENTIFIER MBEDTLS_OID_SUBJECT_KEY_IDENTIFIER -OID_TELETRUST MBEDTLS_OID_TELETRUST -OID_TIME_STAMPING MBEDTLS_OID_TIME_STAMPING -PADLOCK_ACE MBEDTLS_PADLOCK_ACE -PADLOCK_ALIGN16 MBEDTLS_PADLOCK_ALIGN16 -PADLOCK_PHE MBEDTLS_PADLOCK_PHE -PADLOCK_PMM MBEDTLS_PADLOCK_PMM -PADLOCK_RNG MBEDTLS_PADLOCK_RNG -PKCS12_DERIVE_IV MBEDTLS_PKCS12_DERIVE_IV -PKCS12_DERIVE_KEY MBEDTLS_PKCS12_DERIVE_KEY -PKCS12_DERIVE_MAC_KEY MBEDTLS_PKCS12_DERIVE_MAC_KEY -PKCS12_PBE_DECRYPT MBEDTLS_PKCS12_PBE_DECRYPT -PKCS12_PBE_ENCRYPT MBEDTLS_PKCS12_PBE_ENCRYPT -PKCS5_DECRYPT MBEDTLS_PKCS5_DECRYPT -PKCS5_ENCRYPT MBEDTLS_PKCS5_ENCRYPT -POLARSSL_AESNI_AES MBEDTLS_AESNI_AES -POLARSSL_AESNI_C MBEDTLS_AESNI_C -POLARSSL_AESNI_CLMUL MBEDTLS_AESNI_CLMUL -POLARSSL_AESNI_H MBEDTLS_AESNI_H -POLARSSL_AES_ALT MBEDTLS_AES_ALT -POLARSSL_AES_C MBEDTLS_AES_C -POLARSSL_AES_H MBEDTLS_AES_H -POLARSSL_AES_ROM_TABLES MBEDTLS_AES_ROM_TABLES -POLARSSL_ARC4_ALT MBEDTLS_ARC4_ALT -POLARSSL_ARC4_C MBEDTLS_ARC4_C -POLARSSL_ARC4_H MBEDTLS_ARC4_H -POLARSSL_ASN1_H MBEDTLS_ASN1_H -POLARSSL_ASN1_PARSE_C MBEDTLS_ASN1_PARSE_C -POLARSSL_ASN1_WRITE_C MBEDTLS_ASN1_WRITE_C -POLARSSL_ASN1_WRITE_H MBEDTLS_ASN1_WRITE_H -POLARSSL_BASE64_C MBEDTLS_BASE64_C -POLARSSL_BASE64_H MBEDTLS_BASE64_H -POLARSSL_BIGNUM_C MBEDTLS_BIGNUM_C -POLARSSL_BIGNUM_H MBEDTLS_BIGNUM_H -POLARSSL_BLOWFISH_ALT MBEDTLS_BLOWFISH_ALT -POLARSSL_BLOWFISH_C MBEDTLS_BLOWFISH_C -POLARSSL_BLOWFISH_H MBEDTLS_BLOWFISH_H -POLARSSL_BN_MUL_H MBEDTLS_BN_MUL_H -POLARSSL_CAMELLIA_ALT MBEDTLS_CAMELLIA_ALT -POLARSSL_CAMELLIA_C MBEDTLS_CAMELLIA_C -POLARSSL_CAMELLIA_H MBEDTLS_CAMELLIA_H -POLARSSL_CAMELLIA_SMALL_MEMORY MBEDTLS_CAMELLIA_SMALL_MEMORY -POLARSSL_CCM_C MBEDTLS_CCM_C -POLARSSL_CCM_H MBEDTLS_CCM_H -POLARSSL_CERTS_C MBEDTLS_CERTS_C -POLARSSL_CERTS_H MBEDTLS_CERTS_H -POLARSSL_CHECK_CONFIG_H MBEDTLS_CHECK_CONFIG_H -POLARSSL_CIPHERSUITE_NODTLS MBEDTLS_CIPHERSUITE_NODTLS -POLARSSL_CIPHERSUITE_SHORT_TAG MBEDTLS_CIPHERSUITE_SHORT_TAG -POLARSSL_CIPHERSUITE_WEAK MBEDTLS_CIPHERSUITE_WEAK -POLARSSL_CIPHER_AES_128_CBC MBEDTLS_CIPHER_AES_128_CBC -POLARSSL_CIPHER_AES_128_CCM MBEDTLS_CIPHER_AES_128_CCM -POLARSSL_CIPHER_AES_128_CFB128 MBEDTLS_CIPHER_AES_128_CFB128 -POLARSSL_CIPHER_AES_128_CTR MBEDTLS_CIPHER_AES_128_CTR -POLARSSL_CIPHER_AES_128_ECB MBEDTLS_CIPHER_AES_128_ECB -POLARSSL_CIPHER_AES_128_GCM MBEDTLS_CIPHER_AES_128_GCM -POLARSSL_CIPHER_AES_192_CBC MBEDTLS_CIPHER_AES_192_CBC -POLARSSL_CIPHER_AES_192_CCM MBEDTLS_CIPHER_AES_192_CCM -POLARSSL_CIPHER_AES_192_CFB128 MBEDTLS_CIPHER_AES_192_CFB128 -POLARSSL_CIPHER_AES_192_CTR MBEDTLS_CIPHER_AES_192_CTR -POLARSSL_CIPHER_AES_192_ECB MBEDTLS_CIPHER_AES_192_ECB -POLARSSL_CIPHER_AES_192_GCM MBEDTLS_CIPHER_AES_192_GCM -POLARSSL_CIPHER_AES_256_CBC MBEDTLS_CIPHER_AES_256_CBC -POLARSSL_CIPHER_AES_256_CCM MBEDTLS_CIPHER_AES_256_CCM -POLARSSL_CIPHER_AES_256_CFB128 MBEDTLS_CIPHER_AES_256_CFB128 -POLARSSL_CIPHER_AES_256_CTR MBEDTLS_CIPHER_AES_256_CTR -POLARSSL_CIPHER_AES_256_ECB MBEDTLS_CIPHER_AES_256_ECB -POLARSSL_CIPHER_AES_256_GCM MBEDTLS_CIPHER_AES_256_GCM -POLARSSL_CIPHER_ARC4_128 MBEDTLS_CIPHER_ARC4_128 -POLARSSL_CIPHER_BLOWFISH_CBC MBEDTLS_CIPHER_BLOWFISH_CBC -POLARSSL_CIPHER_BLOWFISH_CFB64 MBEDTLS_CIPHER_BLOWFISH_CFB64 -POLARSSL_CIPHER_BLOWFISH_CTR MBEDTLS_CIPHER_BLOWFISH_CTR -POLARSSL_CIPHER_BLOWFISH_ECB MBEDTLS_CIPHER_BLOWFISH_ECB -POLARSSL_CIPHER_C MBEDTLS_CIPHER_C -POLARSSL_CIPHER_CAMELLIA_128_CBC MBEDTLS_CIPHER_CAMELLIA_128_CBC -POLARSSL_CIPHER_CAMELLIA_128_CCM MBEDTLS_CIPHER_CAMELLIA_128_CCM -POLARSSL_CIPHER_CAMELLIA_128_CFB128 MBEDTLS_CIPHER_CAMELLIA_128_CFB128 -POLARSSL_CIPHER_CAMELLIA_128_CTR MBEDTLS_CIPHER_CAMELLIA_128_CTR -POLARSSL_CIPHER_CAMELLIA_128_ECB MBEDTLS_CIPHER_CAMELLIA_128_ECB -POLARSSL_CIPHER_CAMELLIA_128_GCM MBEDTLS_CIPHER_CAMELLIA_128_GCM -POLARSSL_CIPHER_CAMELLIA_192_CBC MBEDTLS_CIPHER_CAMELLIA_192_CBC -POLARSSL_CIPHER_CAMELLIA_192_CCM MBEDTLS_CIPHER_CAMELLIA_192_CCM -POLARSSL_CIPHER_CAMELLIA_192_CFB128 MBEDTLS_CIPHER_CAMELLIA_192_CFB128 -POLARSSL_CIPHER_CAMELLIA_192_CTR MBEDTLS_CIPHER_CAMELLIA_192_CTR -POLARSSL_CIPHER_CAMELLIA_192_ECB MBEDTLS_CIPHER_CAMELLIA_192_ECB -POLARSSL_CIPHER_CAMELLIA_192_GCM MBEDTLS_CIPHER_CAMELLIA_192_GCM -POLARSSL_CIPHER_CAMELLIA_256_CBC MBEDTLS_CIPHER_CAMELLIA_256_CBC -POLARSSL_CIPHER_CAMELLIA_256_CCM MBEDTLS_CIPHER_CAMELLIA_256_CCM -POLARSSL_CIPHER_CAMELLIA_256_CFB128 MBEDTLS_CIPHER_CAMELLIA_256_CFB128 -POLARSSL_CIPHER_CAMELLIA_256_CTR MBEDTLS_CIPHER_CAMELLIA_256_CTR -POLARSSL_CIPHER_CAMELLIA_256_ECB MBEDTLS_CIPHER_CAMELLIA_256_ECB -POLARSSL_CIPHER_CAMELLIA_256_GCM MBEDTLS_CIPHER_CAMELLIA_256_GCM -POLARSSL_CIPHER_DES_CBC MBEDTLS_CIPHER_DES_CBC -POLARSSL_CIPHER_DES_ECB MBEDTLS_CIPHER_DES_ECB -POLARSSL_CIPHER_DES_EDE3_CBC MBEDTLS_CIPHER_DES_EDE3_CBC -POLARSSL_CIPHER_DES_EDE3_ECB MBEDTLS_CIPHER_DES_EDE3_ECB -POLARSSL_CIPHER_DES_EDE_CBC MBEDTLS_CIPHER_DES_EDE_CBC -POLARSSL_CIPHER_DES_EDE_ECB MBEDTLS_CIPHER_DES_EDE_ECB -POLARSSL_CIPHER_H MBEDTLS_CIPHER_H -POLARSSL_CIPHER_ID_3DES MBEDTLS_CIPHER_ID_3DES -POLARSSL_CIPHER_ID_AES MBEDTLS_CIPHER_ID_AES -POLARSSL_CIPHER_ID_ARC4 MBEDTLS_CIPHER_ID_ARC4 -POLARSSL_CIPHER_ID_BLOWFISH MBEDTLS_CIPHER_ID_BLOWFISH -POLARSSL_CIPHER_ID_CAMELLIA MBEDTLS_CIPHER_ID_CAMELLIA -POLARSSL_CIPHER_ID_DES MBEDTLS_CIPHER_ID_DES -POLARSSL_CIPHER_ID_NONE MBEDTLS_CIPHER_ID_NONE -POLARSSL_CIPHER_ID_NULL MBEDTLS_CIPHER_ID_NULL -POLARSSL_CIPHER_MODE_AEAD MBEDTLS_CIPHER_MODE_AEAD -POLARSSL_CIPHER_MODE_CBC MBEDTLS_CIPHER_MODE_CBC -POLARSSL_CIPHER_MODE_CFB MBEDTLS_CIPHER_MODE_CFB -POLARSSL_CIPHER_MODE_CTR MBEDTLS_CIPHER_MODE_CTR -POLARSSL_CIPHER_MODE_STREAM MBEDTLS_CIPHER_MODE_STREAM -POLARSSL_CIPHER_MODE_WITH_PADDING MBEDTLS_CIPHER_MODE_WITH_PADDING -POLARSSL_CIPHER_NONE MBEDTLS_CIPHER_NONE -POLARSSL_CIPHER_NULL MBEDTLS_CIPHER_NULL -POLARSSL_CIPHER_NULL_CIPHER MBEDTLS_CIPHER_NULL_CIPHER -POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS -POLARSSL_CIPHER_PADDING_PKCS7 MBEDTLS_CIPHER_PADDING_PKCS7 -POLARSSL_CIPHER_PADDING_ZEROS MBEDTLS_CIPHER_PADDING_ZEROS -POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN -POLARSSL_CIPHER_VARIABLE_IV_LEN MBEDTLS_CIPHER_VARIABLE_IV_LEN -POLARSSL_CIPHER_VARIABLE_KEY_LEN MBEDTLS_CIPHER_VARIABLE_KEY_LEN -POLARSSL_CIPHER_WRAP_H MBEDTLS_CIPHER_WRAP_H -POLARSSL_CONFIG_FILE MBEDTLS_CONFIG_FILE -POLARSSL_CONFIG_H MBEDTLS_CONFIG_H -POLARSSL_CTR_DRBG_C MBEDTLS_CTR_DRBG_C -POLARSSL_CTR_DRBG_H MBEDTLS_CTR_DRBG_H -POLARSSL_DEBUG_C MBEDTLS_DEBUG_C -POLARSSL_DEBUG_DFL_MODE MBEDTLS_DEBUG_DFL_MODE -POLARSSL_DEBUG_H MBEDTLS_DEBUG_H -POLARSSL_DEBUG_LOG_FULL MBEDTLS_DEBUG_LOG_FULL -POLARSSL_DEBUG_LOG_RAW MBEDTLS_DEBUG_LOG_RAW -POLARSSL_DECRYPT MBEDTLS_DECRYPT -POLARSSL_DEPRECATED_REMOVED MBEDTLS_DEPRECATED_REMOVED -POLARSSL_DEPRECATED_WARNING MBEDTLS_DEPRECATED_WARNING -POLARSSL_DES_ALT MBEDTLS_DES_ALT -POLARSSL_DES_C MBEDTLS_DES_C -POLARSSL_DES_H MBEDTLS_DES_H -POLARSSL_DHM_C MBEDTLS_DHM_C -POLARSSL_DHM_H MBEDTLS_DHM_H -POLARSSL_DHM_RFC2409_MODP_1024_G MBEDTLS_DHM_RFC2409_MODP_1024_G -POLARSSL_DHM_RFC2409_MODP_1024_P MBEDTLS_DHM_RFC2409_MODP_1024_P -POLARSSL_DHM_RFC3526_MODP_2048_G MBEDTLS_DHM_RFC3526_MODP_2048_G -POLARSSL_DHM_RFC3526_MODP_2048_P MBEDTLS_DHM_RFC3526_MODP_2048_P -POLARSSL_DHM_RFC3526_MODP_3072_G MBEDTLS_DHM_RFC3526_MODP_3072_G -POLARSSL_DHM_RFC3526_MODP_3072_P MBEDTLS_DHM_RFC3526_MODP_3072_P -POLARSSL_DHM_RFC5114_MODP_1024_G MBEDTLS_DHM_RFC5114_MODP_1024_G -POLARSSL_DHM_RFC5114_MODP_1024_P MBEDTLS_DHM_RFC5114_MODP_1024_P -POLARSSL_DHM_RFC5114_MODP_2048_G MBEDTLS_DHM_RFC5114_MODP_2048_G -POLARSSL_DHM_RFC5114_MODP_2048_P MBEDTLS_DHM_RFC5114_MODP_2048_P -POLARSSL_ECDH_C MBEDTLS_ECDH_C -POLARSSL_ECDH_H MBEDTLS_ECDH_H -POLARSSL_ECDH_OURS MBEDTLS_ECDH_OURS -POLARSSL_ECDH_THEIRS MBEDTLS_ECDH_THEIRS -POLARSSL_ECDSA_C MBEDTLS_ECDSA_C -POLARSSL_ECDSA_DETERMINISTIC MBEDTLS_ECDSA_DETERMINISTIC -POLARSSL_ECDSA_H MBEDTLS_ECDSA_H -POLARSSL_ECP_C MBEDTLS_ECP_C -POLARSSL_ECP_DP_BP256R1 MBEDTLS_ECP_DP_BP256R1 -POLARSSL_ECP_DP_BP256R1_ENABLED MBEDTLS_ECP_DP_BP256R1_ENABLED -POLARSSL_ECP_DP_BP384R1 MBEDTLS_ECP_DP_BP384R1 -POLARSSL_ECP_DP_BP384R1_ENABLED MBEDTLS_ECP_DP_BP384R1_ENABLED -POLARSSL_ECP_DP_BP512R1 MBEDTLS_ECP_DP_BP512R1 -POLARSSL_ECP_DP_BP512R1_ENABLED MBEDTLS_ECP_DP_BP512R1_ENABLED -POLARSSL_ECP_DP_M255 MBEDTLS_ECP_DP_CURVE25519 -POLARSSL_ECP_DP_M255_ENABLED MBEDTLS_ECP_DP_CURVE25519_ENABLED -POLARSSL_ECP_DP_MAX MBEDTLS_ECP_DP_MAX -POLARSSL_ECP_DP_NONE MBEDTLS_ECP_DP_NONE -POLARSSL_ECP_DP_SECP192K1 MBEDTLS_ECP_DP_SECP192K1 -POLARSSL_ECP_DP_SECP192K1_ENABLED MBEDTLS_ECP_DP_SECP192K1_ENABLED -POLARSSL_ECP_DP_SECP192R1 MBEDTLS_ECP_DP_SECP192R1 -POLARSSL_ECP_DP_SECP192R1_ENABLED MBEDTLS_ECP_DP_SECP192R1_ENABLED -POLARSSL_ECP_DP_SECP224K1 MBEDTLS_ECP_DP_SECP224K1 -POLARSSL_ECP_DP_SECP224K1_ENABLED MBEDTLS_ECP_DP_SECP224K1_ENABLED -POLARSSL_ECP_DP_SECP224R1 MBEDTLS_ECP_DP_SECP224R1 -POLARSSL_ECP_DP_SECP224R1_ENABLED MBEDTLS_ECP_DP_SECP224R1_ENABLED -POLARSSL_ECP_DP_SECP256K1 MBEDTLS_ECP_DP_SECP256K1 -POLARSSL_ECP_DP_SECP256K1_ENABLED MBEDTLS_ECP_DP_SECP256K1_ENABLED -POLARSSL_ECP_DP_SECP256R1 MBEDTLS_ECP_DP_SECP256R1 -POLARSSL_ECP_DP_SECP256R1_ENABLED MBEDTLS_ECP_DP_SECP256R1_ENABLED -POLARSSL_ECP_DP_SECP384R1 MBEDTLS_ECP_DP_SECP384R1 -POLARSSL_ECP_DP_SECP384R1_ENABLED MBEDTLS_ECP_DP_SECP384R1_ENABLED -POLARSSL_ECP_DP_SECP521R1 MBEDTLS_ECP_DP_SECP521R1 -POLARSSL_ECP_DP_SECP521R1_ENABLED MBEDTLS_ECP_DP_SECP521R1_ENABLED -POLARSSL_ECP_FIXED_POINT_OPTIM MBEDTLS_ECP_FIXED_POINT_OPTIM -POLARSSL_ECP_H MBEDTLS_ECP_H -POLARSSL_ECP_MAX_BITS MBEDTLS_ECP_MAX_BITS -POLARSSL_ECP_MAX_BYTES MBEDTLS_ECP_MAX_BYTES -POLARSSL_ECP_MAX_PT_LEN MBEDTLS_ECP_MAX_PT_LEN -POLARSSL_ECP_NIST_OPTIM MBEDTLS_ECP_NIST_OPTIM -POLARSSL_ECP_PF_COMPRESSED MBEDTLS_ECP_PF_COMPRESSED -POLARSSL_ECP_PF_UNCOMPRESSED MBEDTLS_ECP_PF_UNCOMPRESSED -POLARSSL_ECP_TLS_NAMED_CURVE MBEDTLS_ECP_TLS_NAMED_CURVE -POLARSSL_ECP_WINDOW_SIZE MBEDTLS_ECP_WINDOW_SIZE -POLARSSL_ENABLE_WEAK_CIPHERSUITES MBEDTLS_ENABLE_WEAK_CIPHERSUITES -POLARSSL_ENCRYPT MBEDTLS_ENCRYPT -POLARSSL_ENTROPY_C MBEDTLS_ENTROPY_C -POLARSSL_ENTROPY_FORCE_SHA256 MBEDTLS_ENTROPY_FORCE_SHA256 -POLARSSL_ENTROPY_H MBEDTLS_ENTROPY_H -POLARSSL_ENTROPY_POLL_H MBEDTLS_ENTROPY_POLL_H -POLARSSL_ENTROPY_SHA256_ACCUMULATOR MBEDTLS_ENTROPY_SHA256_ACCUMULATOR -POLARSSL_ENTROPY_SHA512_ACCUMULATOR MBEDTLS_ENTROPY_SHA512_ACCUMULATOR -POLARSSL_ERROR_C MBEDTLS_ERROR_C -POLARSSL_ERROR_H MBEDTLS_ERROR_H -POLARSSL_ERROR_STRERROR_BC MBEDTLS_ERROR_STRERROR_BC -POLARSSL_ERROR_STRERROR_DUMMY MBEDTLS_ERROR_STRERROR_DUMMY -POLARSSL_ERR_AES_INVALID_INPUT_LENGTH MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH -POLARSSL_ERR_AES_INVALID_KEY_LENGTH MBEDTLS_ERR_AES_INVALID_KEY_LENGTH -POLARSSL_ERR_ASN1_BUF_TOO_SMALL MBEDTLS_ERR_ASN1_BUF_TOO_SMALL -POLARSSL_ERR_ASN1_INVALID_DATA MBEDTLS_ERR_ASN1_INVALID_DATA -POLARSSL_ERR_ASN1_INVALID_LENGTH MBEDTLS_ERR_ASN1_INVALID_LENGTH -POLARSSL_ERR_ASN1_LENGTH_MISMATCH MBEDTLS_ERR_ASN1_LENGTH_MISMATCH -POLARSSL_ERR_ASN1_MALLOC_FAILED MBEDTLS_ERR_ASN1_ALLOC_FAILED -POLARSSL_ERR_ASN1_OUT_OF_DATA MBEDTLS_ERR_ASN1_OUT_OF_DATA -POLARSSL_ERR_ASN1_UNEXPECTED_TAG MBEDTLS_ERR_ASN1_UNEXPECTED_TAG -POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL -POLARSSL_ERR_BASE64_INVALID_CHARACTER MBEDTLS_ERR_BASE64_INVALID_CHARACTER -POLARSSL_ERR_BLOWFISH_INVALID_INPUT_LENGTH MBEDTLS_ERR_BLOWFISH_INVALID_INPUT_LENGTH -POLARSSL_ERR_BLOWFISH_INVALID_KEY_LENGTH MBEDTLS_ERR_BLOWFISH_INVALID_KEY_LENGTH -POLARSSL_ERR_CAMELLIA_INVALID_INPUT_LENGTH MBEDTLS_ERR_CAMELLIA_INVALID_INPUT_LENGTH -POLARSSL_ERR_CAMELLIA_INVALID_KEY_LENGTH MBEDTLS_ERR_CAMELLIA_INVALID_KEY_LENGTH -POLARSSL_ERR_CCM_AUTH_FAILED MBEDTLS_ERR_CCM_AUTH_FAILED -POLARSSL_ERR_CCM_BAD_INPUT MBEDTLS_ERR_CCM_BAD_INPUT -POLARSSL_ERR_CIPHER_ALLOC_FAILED MBEDTLS_ERR_CIPHER_ALLOC_FAILED -POLARSSL_ERR_CIPHER_AUTH_FAILED MBEDTLS_ERR_CIPHER_AUTH_FAILED -POLARSSL_ERR_CIPHER_BAD_INPUT_DATA MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA -POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE -POLARSSL_ERR_CIPHER_FULL_BLOCK_EXPECTED MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED -POLARSSL_ERR_CIPHER_INVALID_PADDING MBEDTLS_ERR_CIPHER_INVALID_PADDING -POLARSSL_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED -POLARSSL_ERR_CTR_DRBG_FILE_IO_ERROR MBEDTLS_ERR_CTR_DRBG_FILE_IO_ERROR -POLARSSL_ERR_CTR_DRBG_INPUT_TOO_BIG MBEDTLS_ERR_CTR_DRBG_INPUT_TOO_BIG -POLARSSL_ERR_CTR_DRBG_REQUEST_TOO_BIG MBEDTLS_ERR_CTR_DRBG_REQUEST_TOO_BIG -POLARSSL_ERR_DES_INVALID_INPUT_LENGTH MBEDTLS_ERR_DES_INVALID_INPUT_LENGTH -POLARSSL_ERR_DHM_BAD_INPUT_DATA MBEDTLS_ERR_DHM_BAD_INPUT_DATA -POLARSSL_ERR_DHM_CALC_SECRET_FAILED MBEDTLS_ERR_DHM_CALC_SECRET_FAILED -POLARSSL_ERR_DHM_FILE_IO_ERROR MBEDTLS_ERR_DHM_FILE_IO_ERROR -POLARSSL_ERR_DHM_INVALID_FORMAT MBEDTLS_ERR_DHM_INVALID_FORMAT -POLARSSL_ERR_DHM_MAKE_PARAMS_FAILED MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED -POLARSSL_ERR_DHM_MAKE_PUBLIC_FAILED MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED -POLARSSL_ERR_DHM_MALLOC_FAILED MBEDTLS_ERR_DHM_ALLOC_FAILED -POLARSSL_ERR_DHM_READ_PARAMS_FAILED MBEDTLS_ERR_DHM_READ_PARAMS_FAILED -POLARSSL_ERR_DHM_READ_PUBLIC_FAILED MBEDTLS_ERR_DHM_READ_PUBLIC_FAILED -POLARSSL_ERR_ECP_BAD_INPUT_DATA MBEDTLS_ERR_ECP_BAD_INPUT_DATA -POLARSSL_ERR_ECP_BUFFER_TOO_SMALL MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL -POLARSSL_ERR_ECP_FEATURE_UNAVAILABLE MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE -POLARSSL_ERR_ECP_INVALID_KEY MBEDTLS_ERR_ECP_INVALID_KEY -POLARSSL_ERR_ECP_MALLOC_FAILED MBEDTLS_ERR_ECP_ALLOC_FAILED -POLARSSL_ERR_ECP_RANDOM_FAILED MBEDTLS_ERR_ECP_RANDOM_FAILED -POLARSSL_ERR_ECP_SIG_LEN_MISMATCH MBEDTLS_ERR_ECP_SIG_LEN_MISMATCH -POLARSSL_ERR_ECP_VERIFY_FAILED MBEDTLS_ERR_ECP_VERIFY_FAILED -POLARSSL_ERR_ENTROPY_FILE_IO_ERROR MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR -POLARSSL_ERR_ENTROPY_MAX_SOURCES MBEDTLS_ERR_ENTROPY_MAX_SOURCES -POLARSSL_ERR_ENTROPY_NO_SOURCES_DEFINED MBEDTLS_ERR_ENTROPY_NO_SOURCES_DEFINED -POLARSSL_ERR_ENTROPY_SOURCE_FAILED MBEDTLS_ERR_ENTROPY_SOURCE_FAILED -POLARSSL_ERR_GCM_AUTH_FAILED MBEDTLS_ERR_GCM_AUTH_FAILED -POLARSSL_ERR_GCM_BAD_INPUT MBEDTLS_ERR_GCM_BAD_INPUT -POLARSSL_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED -POLARSSL_ERR_HMAC_DRBG_FILE_IO_ERROR MBEDTLS_ERR_HMAC_DRBG_FILE_IO_ERROR -POLARSSL_ERR_HMAC_DRBG_INPUT_TOO_BIG MBEDTLS_ERR_HMAC_DRBG_INPUT_TOO_BIG -POLARSSL_ERR_HMAC_DRBG_REQUEST_TOO_BIG MBEDTLS_ERR_HMAC_DRBG_REQUEST_TOO_BIG -POLARSSL_ERR_MD2_FILE_IO_ERROR MBEDTLS_ERR_MD2_FILE_IO_ERROR -POLARSSL_ERR_MD4_FILE_IO_ERROR MBEDTLS_ERR_MD4_FILE_IO_ERROR -POLARSSL_ERR_MD5_FILE_IO_ERROR MBEDTLS_ERR_MD5_FILE_IO_ERROR -POLARSSL_ERR_MD_ALLOC_FAILED MBEDTLS_ERR_MD_ALLOC_FAILED -POLARSSL_ERR_MD_BAD_INPUT_DATA MBEDTLS_ERR_MD_BAD_INPUT_DATA -POLARSSL_ERR_MD_FEATURE_UNAVAILABLE MBEDTLS_ERR_MD_FEATURE_UNAVAILABLE -POLARSSL_ERR_MD_FILE_IO_ERROR MBEDTLS_ERR_MD_FILE_IO_ERROR -POLARSSL_ERR_MPI_BAD_INPUT_DATA MBEDTLS_ERR_MPI_BAD_INPUT_DATA -POLARSSL_ERR_MPI_BUFFER_TOO_SMALL MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL -POLARSSL_ERR_MPI_DIVISION_BY_ZERO MBEDTLS_ERR_MPI_DIVISION_BY_ZERO -POLARSSL_ERR_MPI_FILE_IO_ERROR MBEDTLS_ERR_MPI_FILE_IO_ERROR -POLARSSL_ERR_MPI_INVALID_CHARACTER MBEDTLS_ERR_MPI_INVALID_CHARACTER -POLARSSL_ERR_MPI_MALLOC_FAILED MBEDTLS_ERR_MPI_ALLOC_FAILED -POLARSSL_ERR_MPI_NEGATIVE_VALUE MBEDTLS_ERR_MPI_NEGATIVE_VALUE -POLARSSL_ERR_MPI_NOT_ACCEPTABLE MBEDTLS_ERR_MPI_NOT_ACCEPTABLE -POLARSSL_ERR_NET_ACCEPT_FAILED MBEDTLS_ERR_NET_ACCEPT_FAILED -POLARSSL_ERR_NET_BIND_FAILED MBEDTLS_ERR_NET_BIND_FAILED -POLARSSL_ERR_NET_CONNECT_FAILED MBEDTLS_ERR_NET_CONNECT_FAILED -POLARSSL_ERR_NET_CONN_RESET MBEDTLS_ERR_NET_CONN_RESET -POLARSSL_ERR_NET_LISTEN_FAILED MBEDTLS_ERR_NET_LISTEN_FAILED -POLARSSL_ERR_NET_RECV_FAILED MBEDTLS_ERR_NET_RECV_FAILED -POLARSSL_ERR_NET_SEND_FAILED MBEDTLS_ERR_NET_SEND_FAILED -POLARSSL_ERR_NET_SOCKET_FAILED MBEDTLS_ERR_NET_SOCKET_FAILED -POLARSSL_ERR_NET_TIMEOUT MBEDTLS_ERR_SSL_TIMEOUT -POLARSSL_ERR_NET_UNKNOWN_HOST MBEDTLS_ERR_NET_UNKNOWN_HOST -POLARSSL_ERR_NET_WANT_READ MBEDTLS_ERR_SSL_WANT_READ -POLARSSL_ERR_NET_WANT_WRITE MBEDTLS_ERR_SSL_WANT_WRITE -POLARSSL_ERR_OID_BUF_TOO_SMALL MBEDTLS_ERR_OID_BUF_TOO_SMALL -POLARSSL_ERR_OID_NOT_FOUND MBEDTLS_ERR_OID_NOT_FOUND -POLARSSL_ERR_PADLOCK_DATA_MISALIGNED MBEDTLS_ERR_PADLOCK_DATA_MISALIGNED -POLARSSL_ERR_PBKDF2_BAD_INPUT_DATA MBEDTLS_ERR_PBKDF2_BAD_INPUT_DATA -POLARSSL_ERR_PEM_BAD_INPUT_DATA MBEDTLS_ERR_PEM_BAD_INPUT_DATA -POLARSSL_ERR_PEM_FEATURE_UNAVAILABLE MBEDTLS_ERR_PEM_FEATURE_UNAVAILABLE -POLARSSL_ERR_PEM_INVALID_DATA MBEDTLS_ERR_PEM_INVALID_DATA -POLARSSL_ERR_PEM_INVALID_ENC_IV MBEDTLS_ERR_PEM_INVALID_ENC_IV -POLARSSL_ERR_PEM_MALLOC_FAILED MBEDTLS_ERR_PEM_ALLOC_FAILED -POLARSSL_ERR_PEM_NO_HEADER_FOOTER_PRESENT MBEDTLS_ERR_PEM_NO_HEADER_FOOTER_PRESENT -POLARSSL_ERR_PEM_PASSWORD_MISMATCH MBEDTLS_ERR_PEM_PASSWORD_MISMATCH -POLARSSL_ERR_PEM_PASSWORD_REQUIRED MBEDTLS_ERR_PEM_PASSWORD_REQUIRED -POLARSSL_ERR_PEM_UNKNOWN_ENC_ALG MBEDTLS_ERR_PEM_UNKNOWN_ENC_ALG -POLARSSL_ERR_PKCS12_BAD_INPUT_DATA MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA -POLARSSL_ERR_PKCS12_FEATURE_UNAVAILABLE MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE -POLARSSL_ERR_PKCS12_PASSWORD_MISMATCH MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH -POLARSSL_ERR_PKCS12_PBE_INVALID_FORMAT MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT -POLARSSL_ERR_PKCS5_BAD_INPUT_DATA MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA -POLARSSL_ERR_PKCS5_FEATURE_UNAVAILABLE MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE -POLARSSL_ERR_PKCS5_INVALID_FORMAT MBEDTLS_ERR_PKCS5_INVALID_FORMAT -POLARSSL_ERR_PKCS5_PASSWORD_MISMATCH MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH -POLARSSL_ERR_PK_BAD_INPUT_DATA MBEDTLS_ERR_PK_BAD_INPUT_DATA -POLARSSL_ERR_PK_FEATURE_UNAVAILABLE MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE -POLARSSL_ERR_PK_FILE_IO_ERROR MBEDTLS_ERR_PK_FILE_IO_ERROR -POLARSSL_ERR_PK_INVALID_ALG MBEDTLS_ERR_PK_INVALID_ALG -POLARSSL_ERR_PK_INVALID_PUBKEY MBEDTLS_ERR_PK_INVALID_PUBKEY -POLARSSL_ERR_PK_KEY_INVALID_FORMAT MBEDTLS_ERR_PK_KEY_INVALID_FORMAT -POLARSSL_ERR_PK_KEY_INVALID_VERSION MBEDTLS_ERR_PK_KEY_INVALID_VERSION -POLARSSL_ERR_PK_MALLOC_FAILED MBEDTLS_ERR_PK_ALLOC_FAILED -POLARSSL_ERR_PK_PASSWORD_MISMATCH MBEDTLS_ERR_PK_PASSWORD_MISMATCH -POLARSSL_ERR_PK_PASSWORD_REQUIRED MBEDTLS_ERR_PK_PASSWORD_REQUIRED -POLARSSL_ERR_PK_SIG_LEN_MISMATCH MBEDTLS_ERR_PK_SIG_LEN_MISMATCH -POLARSSL_ERR_PK_TYPE_MISMATCH MBEDTLS_ERR_PK_TYPE_MISMATCH -POLARSSL_ERR_PK_UNKNOWN_NAMED_CURVE MBEDTLS_ERR_PK_UNKNOWN_NAMED_CURVE -POLARSSL_ERR_PK_UNKNOWN_PK_ALG MBEDTLS_ERR_PK_UNKNOWN_PK_ALG -POLARSSL_ERR_RIPEMD160_FILE_IO_ERROR MBEDTLS_ERR_RIPEMD160_FILE_IO_ERROR -POLARSSL_ERR_RSA_BAD_INPUT_DATA MBEDTLS_ERR_RSA_BAD_INPUT_DATA -POLARSSL_ERR_RSA_INVALID_PADDING MBEDTLS_ERR_RSA_INVALID_PADDING -POLARSSL_ERR_RSA_KEY_CHECK_FAILED MBEDTLS_ERR_RSA_KEY_CHECK_FAILED -POLARSSL_ERR_RSA_KEY_GEN_FAILED MBEDTLS_ERR_RSA_KEY_GEN_FAILED -POLARSSL_ERR_RSA_OUTPUT_TOO_LARGE MBEDTLS_ERR_RSA_OUTPUT_TOO_LARGE -POLARSSL_ERR_RSA_PRIVATE_FAILED MBEDTLS_ERR_RSA_PRIVATE_FAILED -POLARSSL_ERR_RSA_PUBLIC_FAILED MBEDTLS_ERR_RSA_PUBLIC_FAILED -POLARSSL_ERR_RSA_RNG_FAILED MBEDTLS_ERR_RSA_RNG_FAILED -POLARSSL_ERR_RSA_VERIFY_FAILED MBEDTLS_ERR_RSA_VERIFY_FAILED -POLARSSL_ERR_SHA1_FILE_IO_ERROR MBEDTLS_ERR_SHA1_FILE_IO_ERROR -POLARSSL_ERR_SHA256_FILE_IO_ERROR MBEDTLS_ERR_SHA256_FILE_IO_ERROR -POLARSSL_ERR_SHA512_FILE_IO_ERROR MBEDTLS_ERR_SHA512_FILE_IO_ERROR -POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE -POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST -POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY -POLARSSL_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC -POLARSSL_ERR_SSL_BAD_HS_CLIENT_HELLO MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO -POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE -POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS -POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP -POLARSSL_ERR_SSL_BAD_HS_FINISHED MBEDTLS_ERR_SSL_BAD_HS_FINISHED -POLARSSL_ERR_SSL_BAD_HS_NEW_SESSION_TICKET MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET -POLARSSL_ERR_SSL_BAD_HS_PROTOCOL_VERSION MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION -POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO -POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO_DONE MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE -POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE -POLARSSL_ERR_SSL_BAD_INPUT_DATA MBEDTLS_ERR_SSL_BAD_INPUT_DATA -POLARSSL_ERR_SSL_BUFFER_TOO_SMALL MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL -POLARSSL_ERR_SSL_CA_CHAIN_REQUIRED MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED -POLARSSL_ERR_SSL_CERTIFICATE_REQUIRED MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED -POLARSSL_ERR_SSL_CERTIFICATE_TOO_LARGE MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE -POLARSSL_ERR_SSL_COMPRESSION_FAILED MBEDTLS_ERR_SSL_COMPRESSION_FAILED -POLARSSL_ERR_SSL_CONN_EOF MBEDTLS_ERR_SSL_CONN_EOF -POLARSSL_ERR_SSL_COUNTER_WRAPPING MBEDTLS_ERR_SSL_COUNTER_WRAPPING -POLARSSL_ERR_SSL_FATAL_ALERT_MESSAGE MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE -POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE -POLARSSL_ERR_SSL_HELLO_VERIFY_REQUIRED MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED -POLARSSL_ERR_SSL_HW_ACCEL_FAILED MBEDTLS_ERR_SSL_HW_ACCEL_FAILED -POLARSSL_ERR_SSL_HW_ACCEL_FALLTHROUGH MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH -POLARSSL_ERR_SSL_INTERNAL_ERROR MBEDTLS_ERR_SSL_INTERNAL_ERROR -POLARSSL_ERR_SSL_INVALID_MAC MBEDTLS_ERR_SSL_INVALID_MAC -POLARSSL_ERR_SSL_INVALID_RECORD MBEDTLS_ERR_SSL_INVALID_RECORD -POLARSSL_ERR_SSL_MALLOC_FAILED MBEDTLS_ERR_SSL_ALLOC_FAILED -POLARSSL_ERR_SSL_NO_CIPHER_CHOSEN MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN -POLARSSL_ERR_SSL_NO_CLIENT_CERTIFICATE MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE -POLARSSL_ERR_SSL_NO_RNG MBEDTLS_ERR_SSL_NO_RNG -POLARSSL_ERR_SSL_NO_USABLE_CIPHERSUITE MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE -POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY -POLARSSL_ERR_SSL_PEER_VERIFY_FAILED MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED -POLARSSL_ERR_SSL_PK_TYPE_MISMATCH MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH -POLARSSL_ERR_SSL_PRIVATE_KEY_REQUIRED MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED -POLARSSL_ERR_SSL_SESSION_TICKET_EXPIRED MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED -POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE -POLARSSL_ERR_SSL_UNKNOWN_CIPHER MBEDTLS_ERR_SSL_UNKNOWN_CIPHER -POLARSSL_ERR_SSL_UNKNOWN_IDENTITY MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY -POLARSSL_ERR_SSL_WAITING_SERVER_HELLO_RENEGO MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO -POLARSSL_ERR_THREADING_BAD_INPUT_DATA MBEDTLS_ERR_THREADING_BAD_INPUT_DATA -POLARSSL_ERR_THREADING_FEATURE_UNAVAILABLE MBEDTLS_ERR_THREADING_FEATURE_UNAVAILABLE -POLARSSL_ERR_THREADING_MUTEX_ERROR MBEDTLS_ERR_THREADING_MUTEX_ERROR -POLARSSL_ERR_X509_BAD_INPUT_DATA MBEDTLS_ERR_X509_BAD_INPUT_DATA -POLARSSL_ERR_X509_CERT_UNKNOWN_FORMAT MBEDTLS_ERR_X509_CERT_UNKNOWN_FORMAT -POLARSSL_ERR_X509_CERT_VERIFY_FAILED MBEDTLS_ERR_X509_CERT_VERIFY_FAILED -POLARSSL_ERR_X509_FEATURE_UNAVAILABLE MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE -POLARSSL_ERR_X509_FILE_IO_ERROR MBEDTLS_ERR_X509_FILE_IO_ERROR -POLARSSL_ERR_X509_INVALID_ALG MBEDTLS_ERR_X509_INVALID_ALG -POLARSSL_ERR_X509_INVALID_DATE MBEDTLS_ERR_X509_INVALID_DATE -POLARSSL_ERR_X509_INVALID_EXTENSIONS MBEDTLS_ERR_X509_INVALID_EXTENSIONS -POLARSSL_ERR_X509_INVALID_FORMAT MBEDTLS_ERR_X509_INVALID_FORMAT -POLARSSL_ERR_X509_INVALID_NAME MBEDTLS_ERR_X509_INVALID_NAME -POLARSSL_ERR_X509_INVALID_SERIAL MBEDTLS_ERR_X509_INVALID_SERIAL -POLARSSL_ERR_X509_INVALID_SIGNATURE MBEDTLS_ERR_X509_INVALID_SIGNATURE -POLARSSL_ERR_X509_INVALID_VERSION MBEDTLS_ERR_X509_INVALID_VERSION -POLARSSL_ERR_X509_MALLOC_FAILED MBEDTLS_ERR_X509_ALLOC_FAILED -POLARSSL_ERR_X509_SIG_MISMATCH MBEDTLS_ERR_X509_SIG_MISMATCH -POLARSSL_ERR_X509_UNKNOWN_OID MBEDTLS_ERR_X509_UNKNOWN_OID -POLARSSL_ERR_X509_UNKNOWN_SIG_ALG MBEDTLS_ERR_X509_UNKNOWN_SIG_ALG -POLARSSL_ERR_X509_UNKNOWN_VERSION MBEDTLS_ERR_X509_UNKNOWN_VERSION -POLARSSL_ERR_XTEA_INVALID_INPUT_LENGTH MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH -POLARSSL_FS_IO MBEDTLS_FS_IO -POLARSSL_GCM_C MBEDTLS_GCM_C -POLARSSL_GCM_H MBEDTLS_GCM_H -POLARSSL_GENPRIME MBEDTLS_GENPRIME -POLARSSL_HAVEGE_C MBEDTLS_HAVEGE_C -POLARSSL_HAVEGE_H MBEDTLS_HAVEGE_H -POLARSSL_HAVE_ASM MBEDTLS_HAVE_ASM -POLARSSL_HAVE_INT16 MBEDTLS_HAVE_INT16 -POLARSSL_HAVE_INT32 MBEDTLS_HAVE_INT32 -POLARSSL_HAVE_INT64 MBEDTLS_HAVE_INT64 -POLARSSL_HAVE_INT8 MBEDTLS_HAVE_INT8 -POLARSSL_HAVE_IPV6 MBEDTLS_HAVE_IPV6 -POLARSSL_HAVE_LONGLONG MBEDTLS_HAVE_LONGLONG -POLARSSL_HAVE_SSE2 MBEDTLS_HAVE_SSE2 -POLARSSL_HAVE_TIME MBEDTLS_HAVE_TIME -POLARSSL_HAVE_UDBL MBEDTLS_HAVE_UDBL -POLARSSL_HAVE_X86 MBEDTLS_HAVE_X86 -POLARSSL_HAVE_X86_64 MBEDTLS_HAVE_X86_64 -POLARSSL_HMAC_DRBG_C MBEDTLS_HMAC_DRBG_C -POLARSSL_HMAC_DRBG_H MBEDTLS_HMAC_DRBG_H -POLARSSL_HMAC_DRBG_MAX_INPUT MBEDTLS_HMAC_DRBG_MAX_INPUT -POLARSSL_HMAC_DRBG_MAX_REQUEST MBEDTLS_HMAC_DRBG_MAX_REQUEST -POLARSSL_HMAC_DRBG_MAX_SEED_INPUT MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT -POLARSSL_HMAC_DRBG_PR_OFF MBEDTLS_HMAC_DRBG_PR_OFF -POLARSSL_HMAC_DRBG_PR_ON MBEDTLS_HMAC_DRBG_PR_ON -POLARSSL_HMAC_DRBG_RESEED_INTERVAL MBEDTLS_HMAC_DRBG_RESEED_INTERVAL -POLARSSL_KEY_EXCHANGE_DHE_PSK MBEDTLS_KEY_EXCHANGE_DHE_PSK -POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED -POLARSSL_KEY_EXCHANGE_DHE_RSA MBEDTLS_KEY_EXCHANGE_DHE_RSA -POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED -POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA -POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED -POLARSSL_KEY_EXCHANGE_ECDHE_PSK MBEDTLS_KEY_EXCHANGE_ECDHE_PSK -POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED -POLARSSL_KEY_EXCHANGE_ECDHE_RSA MBEDTLS_KEY_EXCHANGE_ECDHE_RSA -POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED -POLARSSL_KEY_EXCHANGE_ECDH_ECDSA MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA -POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED -POLARSSL_KEY_EXCHANGE_ECDH_RSA MBEDTLS_KEY_EXCHANGE_ECDH_RSA -POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED -POLARSSL_KEY_EXCHANGE_NONE MBEDTLS_KEY_EXCHANGE_NONE -POLARSSL_KEY_EXCHANGE_PSK MBEDTLS_KEY_EXCHANGE_PSK -POLARSSL_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_PSK_ENABLED -POLARSSL_KEY_EXCHANGE_RSA MBEDTLS_KEY_EXCHANGE_RSA -POLARSSL_KEY_EXCHANGE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_ENABLED -POLARSSL_KEY_EXCHANGE_RSA_PSK MBEDTLS_KEY_EXCHANGE_RSA_PSK -POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED -POLARSSL_KEY_EXCHANGE__SOME__ECDHE_ENABLED MBEDTLS_KEY_EXCHANGE_SOME_ECDHE_ENABLED -POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED MBEDTLS_KEY_EXCHANGE_SOME_PSK_ENABLED -POLARSSL_KEY_EXCHANGE__WITH_CERT__ENABLED MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED -POLARSSL_KEY_LENGTH_DES MBEDTLS_KEY_LENGTH_DES -POLARSSL_KEY_LENGTH_DES_EDE MBEDTLS_KEY_LENGTH_DES_EDE -POLARSSL_KEY_LENGTH_DES_EDE3 MBEDTLS_KEY_LENGTH_DES_EDE3 -POLARSSL_KEY_LENGTH_NONE MBEDTLS_KEY_LENGTH_NONE -POLARSSL_MAX_BLOCK_LENGTH MBEDTLS_MAX_BLOCK_LENGTH -POLARSSL_MAX_IV_LENGTH MBEDTLS_MAX_IV_LENGTH -POLARSSL_MD2_ALT MBEDTLS_MD2_ALT -POLARSSL_MD2_C MBEDTLS_MD2_C -POLARSSL_MD2_H MBEDTLS_MD2_H -POLARSSL_MD4_ALT MBEDTLS_MD4_ALT -POLARSSL_MD4_C MBEDTLS_MD4_C -POLARSSL_MD4_H MBEDTLS_MD4_H -POLARSSL_MD5_ALT MBEDTLS_MD5_ALT -POLARSSL_MD5_C MBEDTLS_MD5_C -POLARSSL_MD5_H MBEDTLS_MD5_H -POLARSSL_MD_C MBEDTLS_MD_C -POLARSSL_MD_H MBEDTLS_MD_H -POLARSSL_MD_MAX_SIZE MBEDTLS_MD_MAX_SIZE -POLARSSL_MD_MD2 MBEDTLS_MD_MD2 -POLARSSL_MD_MD4 MBEDTLS_MD_MD4 -POLARSSL_MD_MD5 MBEDTLS_MD_MD5 -POLARSSL_MD_NONE MBEDTLS_MD_NONE -POLARSSL_MD_RIPEMD160 MBEDTLS_MD_RIPEMD160 -POLARSSL_MD_SHA1 MBEDTLS_MD_SHA1 -POLARSSL_MD_SHA224 MBEDTLS_MD_SHA224 -POLARSSL_MD_SHA256 MBEDTLS_MD_SHA256 -POLARSSL_MD_SHA384 MBEDTLS_MD_SHA384 -POLARSSL_MD_SHA512 MBEDTLS_MD_SHA512 -POLARSSL_MD_WRAP_H MBEDTLS_MD_WRAP_H -POLARSSL_MEMORY_ALIGN_MULTIPLE MBEDTLS_MEMORY_ALIGN_MULTIPLE -POLARSSL_MEMORY_BACKTRACE MBEDTLS_MEMORY_BACKTRACE -POLARSSL_MEMORY_BUFFER_ALLOC_C MBEDTLS_MEMORY_BUFFER_ALLOC_C -POLARSSL_MEMORY_BUFFER_ALLOC_H MBEDTLS_MEMORY_BUFFER_ALLOC_H -POLARSSL_MEMORY_C MBEDTLS_MEMORY_C -POLARSSL_MEMORY_DEBUG MBEDTLS_MEMORY_DEBUG -POLARSSL_MEMORY_H MBEDTLS_MEMORY_H -POLARSSL_MODE_CBC MBEDTLS_MODE_CBC -POLARSSL_MODE_CCM MBEDTLS_MODE_CCM -POLARSSL_MODE_CFB MBEDTLS_MODE_CFB -POLARSSL_MODE_CTR MBEDTLS_MODE_CTR -POLARSSL_MODE_ECB MBEDTLS_MODE_ECB -POLARSSL_MODE_GCM MBEDTLS_MODE_GCM -POLARSSL_MODE_NONE MBEDTLS_MODE_NONE -POLARSSL_MODE_OFB MBEDTLS_MODE_OFB -POLARSSL_MODE_STREAM MBEDTLS_MODE_STREAM -POLARSSL_MPI_MAX_BITS MBEDTLS_MPI_MAX_BITS -POLARSSL_MPI_MAX_BITS_SCALE100 MBEDTLS_MPI_MAX_BITS_SCALE100 -POLARSSL_MPI_MAX_LIMBS MBEDTLS_MPI_MAX_LIMBS -POLARSSL_MPI_MAX_SIZE MBEDTLS_MPI_MAX_SIZE -POLARSSL_MPI_RW_BUFFER_SIZE MBEDTLS_MPI_RW_BUFFER_SIZE -POLARSSL_MPI_WINDOW_SIZE MBEDTLS_MPI_WINDOW_SIZE -POLARSSL_NET_C MBEDTLS_NET_C -POLARSSL_NET_H MBEDTLS_NET_H -POLARSSL_NET_LISTEN_BACKLOG MBEDTLS_NET_LISTEN_BACKLOG -POLARSSL_NO_DEFAULT_ENTROPY_SOURCES MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES -POLARSSL_NO_PLATFORM_ENTROPY MBEDTLS_NO_PLATFORM_ENTROPY -POLARSSL_OID_C MBEDTLS_OID_C -POLARSSL_OID_H MBEDTLS_OID_H -POLARSSL_OPERATION_NONE MBEDTLS_OPERATION_NONE -POLARSSL_PADDING_NONE MBEDTLS_PADDING_NONE -POLARSSL_PADDING_ONE_AND_ZEROS MBEDTLS_PADDING_ONE_AND_ZEROS -POLARSSL_PADDING_PKCS7 MBEDTLS_PADDING_PKCS7 -POLARSSL_PADDING_ZEROS MBEDTLS_PADDING_ZEROS -POLARSSL_PADDING_ZEROS_AND_LEN MBEDTLS_PADDING_ZEROS_AND_LEN -POLARSSL_PADLOCK_C MBEDTLS_PADLOCK_C -POLARSSL_PADLOCK_H MBEDTLS_PADLOCK_H -POLARSSL_PBKDF2_C MBEDTLS_PBKDF2_C -POLARSSL_PBKDF2_H MBEDTLS_PBKDF2_H -POLARSSL_PEM_H MBEDTLS_PEM_H -POLARSSL_PEM_PARSE_C MBEDTLS_PEM_PARSE_C -POLARSSL_PEM_WRITE_C MBEDTLS_PEM_WRITE_C -POLARSSL_PKCS11_C MBEDTLS_PKCS11_C -POLARSSL_PKCS11_H MBEDTLS_PKCS11_H -POLARSSL_PKCS12_C MBEDTLS_PKCS12_C -POLARSSL_PKCS12_H MBEDTLS_PKCS12_H -POLARSSL_PKCS1_V15 MBEDTLS_PKCS1_V15 -POLARSSL_PKCS1_V21 MBEDTLS_PKCS1_V21 -POLARSSL_PKCS5_C MBEDTLS_PKCS5_C -POLARSSL_PKCS5_H MBEDTLS_PKCS5_H -POLARSSL_PK_C MBEDTLS_PK_C -POLARSSL_PK_DEBUG_ECP MBEDTLS_PK_DEBUG_ECP -POLARSSL_PK_DEBUG_MAX_ITEMS MBEDTLS_PK_DEBUG_MAX_ITEMS -POLARSSL_PK_DEBUG_MPI MBEDTLS_PK_DEBUG_MPI -POLARSSL_PK_DEBUG_NONE MBEDTLS_PK_DEBUG_NONE -POLARSSL_PK_ECDSA MBEDTLS_PK_ECDSA -POLARSSL_PK_ECKEY MBEDTLS_PK_ECKEY -POLARSSL_PK_ECKEY_DH MBEDTLS_PK_ECKEY_DH -POLARSSL_PK_H MBEDTLS_PK_H -POLARSSL_PK_NONE MBEDTLS_PK_NONE -POLARSSL_PK_PARSE_C MBEDTLS_PK_PARSE_C -POLARSSL_PK_PARSE_EC_EXTENDED MBEDTLS_PK_PARSE_EC_EXTENDED -POLARSSL_PK_RSA MBEDTLS_PK_RSA -POLARSSL_PK_RSASSA_PSS MBEDTLS_PK_RSASSA_PSS -POLARSSL_PK_RSA_ALT MBEDTLS_PK_RSA_ALT -POLARSSL_PK_WRAP_H MBEDTLS_PK_WRAP_H -POLARSSL_PK_WRITE_C MBEDTLS_PK_WRITE_C -POLARSSL_PLATFORM_C MBEDTLS_PLATFORM_C -POLARSSL_PLATFORM_EXIT_ALT MBEDTLS_PLATFORM_EXIT_ALT -POLARSSL_PLATFORM_EXIT_MACRO MBEDTLS_PLATFORM_EXIT_MACRO -POLARSSL_PLATFORM_FPRINTF_ALT MBEDTLS_PLATFORM_FPRINTF_ALT -POLARSSL_PLATFORM_FPRINTF_MACRO MBEDTLS_PLATFORM_FPRINTF_MACRO -POLARSSL_PLATFORM_FREE_MACRO MBEDTLS_PLATFORM_FREE_MACRO -POLARSSL_PLATFORM_H MBEDTLS_PLATFORM_H -POLARSSL_PLATFORM_MALLOC_MACRO MBEDTLS_PLATFORM_ALLOC_MACRO -POLARSSL_PLATFORM_MEMORY MBEDTLS_PLATFORM_MEMORY -POLARSSL_PLATFORM_NO_STD_FUNCTIONS MBEDTLS_PLATFORM_NO_STD_FUNCTIONS -POLARSSL_PLATFORM_PRINTF_ALT MBEDTLS_PLATFORM_PRINTF_ALT -POLARSSL_PLATFORM_PRINTF_MACRO MBEDTLS_PLATFORM_PRINTF_MACRO -POLARSSL_PLATFORM_SNPRINTF_ALT MBEDTLS_PLATFORM_SNPRINTF_ALT -POLARSSL_PLATFORM_SNPRINTF_MACRO MBEDTLS_PLATFORM_SNPRINTF_MACRO -POLARSSL_PLATFORM_STD_EXIT MBEDTLS_PLATFORM_STD_EXIT -POLARSSL_PLATFORM_STD_FPRINTF MBEDTLS_PLATFORM_STD_FPRINTF -POLARSSL_PLATFORM_STD_FREE MBEDTLS_PLATFORM_STD_FREE -POLARSSL_PLATFORM_STD_MALLOC MBEDTLS_PLATFORM_STD_CALLOC -POLARSSL_PLATFORM_STD_MEM_HDR MBEDTLS_PLATFORM_STD_MEM_HDR -POLARSSL_PLATFORM_STD_PRINTF MBEDTLS_PLATFORM_STD_PRINTF -POLARSSL_PLATFORM_STD_SNPRINTF MBEDTLS_PLATFORM_STD_SNPRINTF -POLARSSL_PREMASTER_SIZE MBEDTLS_PREMASTER_SIZE -POLARSSL_PSK_MAX_LEN MBEDTLS_PSK_MAX_LEN -POLARSSL_REMOVE_ARC4_CIPHERSUITES MBEDTLS_REMOVE_ARC4_CIPHERSUITES -POLARSSL_RIPEMD160_ALT MBEDTLS_RIPEMD160_ALT -POLARSSL_RIPEMD160_C MBEDTLS_RIPEMD160_C -POLARSSL_RIPEMD160_H MBEDTLS_RIPEMD160_H -POLARSSL_RSA_C MBEDTLS_RSA_C -POLARSSL_RSA_H MBEDTLS_RSA_H -POLARSSL_RSA_NO_CRT MBEDTLS_RSA_NO_CRT -POLARSSL_SELF_TEST MBEDTLS_SELF_TEST -POLARSSL_SHA1_ALT MBEDTLS_SHA1_ALT -POLARSSL_SHA1_C MBEDTLS_SHA1_C -POLARSSL_SHA1_H MBEDTLS_SHA1_H -POLARSSL_SHA256_ALT MBEDTLS_SHA256_ALT -POLARSSL_SHA256_C MBEDTLS_SHA256_C -POLARSSL_SHA256_H MBEDTLS_SHA256_H -POLARSSL_SHA512_ALT MBEDTLS_SHA512_ALT -POLARSSL_SHA512_C MBEDTLS_SHA512_C -POLARSSL_SHA512_H MBEDTLS_SHA512_H -POLARSSL_SSL_AEAD_RANDOM_IV MBEDTLS_SSL_AEAD_RANDOM_IV -POLARSSL_SSL_ALERT_MESSAGES MBEDTLS_SSL_ALERT_MESSAGES -POLARSSL_SSL_ALPN MBEDTLS_SSL_ALPN -POLARSSL_SSL_CACHE_C MBEDTLS_SSL_CACHE_C -POLARSSL_SSL_CACHE_H MBEDTLS_SSL_CACHE_H -POLARSSL_SSL_CBC_RECORD_SPLITTING MBEDTLS_SSL_CBC_RECORD_SPLITTING -POLARSSL_SSL_CIPHERSUITES_H MBEDTLS_SSL_CIPHERSUITES_H -POLARSSL_SSL_CLI_C MBEDTLS_SSL_CLI_C -POLARSSL_SSL_COOKIE_C MBEDTLS_SSL_COOKIE_C -POLARSSL_SSL_COOKIE_H MBEDTLS_SSL_COOKIE_H -POLARSSL_SSL_COOKIE_TIMEOUT MBEDTLS_SSL_COOKIE_TIMEOUT -POLARSSL_SSL_DEBUG_ALL MBEDTLS_SSL_DEBUG_ALL -POLARSSL_SSL_DISABLE_RENEGOTIATION MBEDTLS_SSL_DISABLE_RENEGOTIATION -POLARSSL_SSL_DTLS_ANTI_REPLAY MBEDTLS_SSL_DTLS_ANTI_REPLAY -POLARSSL_SSL_DTLS_BADMAC_LIMIT MBEDTLS_SSL_DTLS_BADMAC_LIMIT -POLARSSL_SSL_DTLS_HELLO_VERIFY MBEDTLS_SSL_DTLS_HELLO_VERIFY -POLARSSL_SSL_ENCRYPT_THEN_MAC MBEDTLS_SSL_ENCRYPT_THEN_MAC -POLARSSL_SSL_EXTENDED_MASTER_SECRET MBEDTLS_SSL_EXTENDED_MASTER_SECRET -POLARSSL_SSL_FALLBACK_SCSV MBEDTLS_SSL_FALLBACK_SCSV -POLARSSL_SSL_H MBEDTLS_SSL_H -POLARSSL_SSL_HW_RECORD_ACCEL MBEDTLS_SSL_HW_RECORD_ACCEL -POLARSSL_SSL_MAX_FRAGMENT_LENGTH MBEDTLS_SSL_MAX_FRAGMENT_LENGTH -POLARSSL_SSL_PROTO_DTLS MBEDTLS_SSL_PROTO_DTLS -POLARSSL_SSL_PROTO_SSL3 MBEDTLS_SSL_PROTO_SSL3 -POLARSSL_SSL_PROTO_TLS1 MBEDTLS_SSL_PROTO_TLS1 -POLARSSL_SSL_PROTO_TLS1_1 MBEDTLS_SSL_PROTO_TLS1_1 -POLARSSL_SSL_PROTO_TLS1_2 MBEDTLS_SSL_PROTO_TLS1_2 -POLARSSL_SSL_RENEGOTIATION MBEDTLS_SSL_RENEGOTIATION -POLARSSL_SSL_SERVER_NAME_INDICATION MBEDTLS_SSL_SERVER_NAME_INDICATION -POLARSSL_SSL_SESSION_TICKETS MBEDTLS_SSL_SESSION_TICKETS -POLARSSL_SSL_SRV_C MBEDTLS_SSL_SRV_C -POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE -POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO -POLARSSL_SSL_TLS_C MBEDTLS_SSL_TLS_C -POLARSSL_SSL_TRUNCATED_HMAC MBEDTLS_SSL_TRUNCATED_HMAC -POLARSSL_THREADING_ALT MBEDTLS_THREADING_ALT -POLARSSL_THREADING_C MBEDTLS_THREADING_C -POLARSSL_THREADING_H MBEDTLS_THREADING_H -POLARSSL_THREADING_IMPL MBEDTLS_THREADING_IMPL -POLARSSL_THREADING_PTHREAD MBEDTLS_THREADING_PTHREAD -POLARSSL_TIMING_ALT MBEDTLS_TIMING_ALT -POLARSSL_TIMING_C MBEDTLS_TIMING_C -POLARSSL_TIMING_H MBEDTLS_TIMING_H -POLARSSL_VERSION_C MBEDTLS_VERSION_C -POLARSSL_VERSION_FEATURES MBEDTLS_VERSION_FEATURES -POLARSSL_VERSION_H MBEDTLS_VERSION_H -POLARSSL_VERSION_MAJOR MBEDTLS_VERSION_MAJOR -POLARSSL_VERSION_MINOR MBEDTLS_VERSION_MINOR -POLARSSL_VERSION_NUMBER MBEDTLS_VERSION_NUMBER -POLARSSL_VERSION_PATCH MBEDTLS_VERSION_PATCH -POLARSSL_VERSION_STRING MBEDTLS_VERSION_STRING -POLARSSL_VERSION_STRING_FULL MBEDTLS_VERSION_STRING_FULL -POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3 MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 -POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION -POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE -POLARSSL_X509_CHECK_KEY_USAGE MBEDTLS_X509_CHECK_KEY_USAGE -POLARSSL_X509_CREATE_C MBEDTLS_X509_CREATE_C -POLARSSL_X509_CRL_H MBEDTLS_X509_CRL_H -POLARSSL_X509_CRL_PARSE_C MBEDTLS_X509_CRL_PARSE_C -POLARSSL_X509_CRT_H MBEDTLS_X509_CRT_H -POLARSSL_X509_CRT_PARSE_C MBEDTLS_X509_CRT_PARSE_C -POLARSSL_X509_CRT_WRITE_C MBEDTLS_X509_CRT_WRITE_C -POLARSSL_X509_CSR_H MBEDTLS_X509_CSR_H -POLARSSL_X509_CSR_PARSE_C MBEDTLS_X509_CSR_PARSE_C -POLARSSL_X509_CSR_WRITE_C MBEDTLS_X509_CSR_WRITE_C -POLARSSL_X509_H MBEDTLS_X509_H -POLARSSL_X509_MAX_INTERMEDIATE_CA MBEDTLS_X509_MAX_INTERMEDIATE_CA -POLARSSL_X509_RSASSA_PSS_SUPPORT MBEDTLS_X509_RSASSA_PSS_SUPPORT -POLARSSL_X509_USE_C MBEDTLS_X509_USE_C -POLARSSL_XTEA_ALT MBEDTLS_XTEA_ALT -POLARSSL_XTEA_C MBEDTLS_XTEA_C -POLARSSL_XTEA_H MBEDTLS_XTEA_H -POLARSSL_ZLIB_SUPPORT MBEDTLS_ZLIB_SUPPORT -RSA_CRYPT MBEDTLS_RSA_CRYPT -RSA_PKCS_V15 MBEDTLS_RSA_PKCS_V15 -RSA_PKCS_V21 MBEDTLS_RSA_PKCS_V21 -RSA_PRIVATE MBEDTLS_RSA_PRIVATE -RSA_PUBLIC MBEDTLS_RSA_PUBLIC -RSA_SALT_LEN_ANY MBEDTLS_RSA_SALT_LEN_ANY -RSA_SIGN MBEDTLS_RSA_SIGN -SSL_ALERT_LEVEL_FATAL MBEDTLS_SSL_ALERT_LEVEL_FATAL -SSL_ALERT_LEVEL_WARNING MBEDTLS_SSL_ALERT_LEVEL_WARNING -SSL_ALERT_MSG_ACCESS_DENIED MBEDTLS_SSL_ALERT_MSG_ACCESS_DENIED -SSL_ALERT_MSG_BAD_CERT MBEDTLS_SSL_ALERT_MSG_BAD_CERT -SSL_ALERT_MSG_BAD_RECORD_MAC MBEDTLS_SSL_ALERT_MSG_BAD_RECORD_MAC -SSL_ALERT_MSG_CERT_EXPIRED MBEDTLS_SSL_ALERT_MSG_CERT_EXPIRED -SSL_ALERT_MSG_CERT_REVOKED MBEDTLS_SSL_ALERT_MSG_CERT_REVOKED -SSL_ALERT_MSG_CERT_UNKNOWN MBEDTLS_SSL_ALERT_MSG_CERT_UNKNOWN -SSL_ALERT_MSG_CLOSE_NOTIFY MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY -SSL_ALERT_MSG_DECODE_ERROR MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR -SSL_ALERT_MSG_DECOMPRESSION_FAILURE MBEDTLS_SSL_ALERT_MSG_DECOMPRESSION_FAILURE -SSL_ALERT_MSG_DECRYPTION_FAILED MBEDTLS_SSL_ALERT_MSG_DECRYPTION_FAILED -SSL_ALERT_MSG_DECRYPT_ERROR MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR -SSL_ALERT_MSG_EXPORT_RESTRICTION MBEDTLS_SSL_ALERT_MSG_EXPORT_RESTRICTION -SSL_ALERT_MSG_HANDSHAKE_FAILURE MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE -SSL_ALERT_MSG_ILLEGAL_PARAMETER MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER -SSL_ALERT_MSG_INAPROPRIATE_FALLBACK MBEDTLS_SSL_ALERT_MSG_INAPROPRIATE_FALLBACK -SSL_ALERT_MSG_INSUFFICIENT_SECURITY MBEDTLS_SSL_ALERT_MSG_INSUFFICIENT_SECURITY -SSL_ALERT_MSG_INTERNAL_ERROR MBEDTLS_SSL_ALERT_MSG_INTERNAL_ERROR -SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL MBEDTLS_SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL -SSL_ALERT_MSG_NO_CERT MBEDTLS_SSL_ALERT_MSG_NO_CERT -SSL_ALERT_MSG_NO_RENEGOTIATION MBEDTLS_SSL_ALERT_MSG_NO_RENEGOTIATION -SSL_ALERT_MSG_PROTOCOL_VERSION MBEDTLS_SSL_ALERT_MSG_PROTOCOL_VERSION -SSL_ALERT_MSG_RECORD_OVERFLOW MBEDTLS_SSL_ALERT_MSG_RECORD_OVERFLOW -SSL_ALERT_MSG_UNEXPECTED_MESSAGE MBEDTLS_SSL_ALERT_MSG_UNEXPECTED_MESSAGE -SSL_ALERT_MSG_UNKNOWN_CA MBEDTLS_SSL_ALERT_MSG_UNKNOWN_CA -SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY -SSL_ALERT_MSG_UNRECOGNIZED_NAME MBEDTLS_SSL_ALERT_MSG_UNRECOGNIZED_NAME -SSL_ALERT_MSG_UNSUPPORTED_CERT MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_CERT -SSL_ALERT_MSG_UNSUPPORTED_EXT MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT -SSL_ALERT_MSG_USER_CANCELED MBEDTLS_SSL_ALERT_MSG_USER_CANCELED -SSL_ANTI_REPLAY_DISABLED MBEDTLS_SSL_ANTI_REPLAY_DISABLED -SSL_ANTI_REPLAY_ENABLED MBEDTLS_SSL_ANTI_REPLAY_ENABLED -SSL_ARC4_DISABLED MBEDTLS_SSL_ARC4_DISABLED -SSL_ARC4_ENABLED MBEDTLS_SSL_ARC4_ENABLED -SSL_BUFFER_LEN MBEDTLS_SSL_BUFFER_LEN -SSL_CACHE_DEFAULT_MAX_ENTRIES MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES -SSL_CACHE_DEFAULT_TIMEOUT MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT -SSL_CBC_RECORD_SPLITTING_DISABLED MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED -SSL_CBC_RECORD_SPLITTING_ENABLED MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED -SSL_CERTIFICATE_REQUEST MBEDTLS_SSL_CERTIFICATE_REQUEST -SSL_CERTIFICATE_VERIFY MBEDTLS_SSL_CERTIFICATE_VERIFY -SSL_CERT_TYPE_ECDSA_SIGN MBEDTLS_SSL_CERT_TYPE_ECDSA_SIGN -SSL_CERT_TYPE_RSA_SIGN MBEDTLS_SSL_CERT_TYPE_RSA_SIGN -SSL_CHANNEL_INBOUND MBEDTLS_SSL_CHANNEL_INBOUND -SSL_CHANNEL_OUTBOUND MBEDTLS_SSL_CHANNEL_OUTBOUND -SSL_CIPHERSUITES MBEDTLS_SSL_CIPHERSUITES -SSL_CLIENT_CERTIFICATE MBEDTLS_SSL_CLIENT_CERTIFICATE -SSL_CLIENT_CHANGE_CIPHER_SPEC MBEDTLS_SSL_CLIENT_CHANGE_CIPHER_SPEC -SSL_CLIENT_FINISHED MBEDTLS_SSL_CLIENT_FINISHED -SSL_CLIENT_HELLO MBEDTLS_SSL_CLIENT_HELLO -SSL_CLIENT_KEY_EXCHANGE MBEDTLS_SSL_CLIENT_KEY_EXCHANGE -SSL_COMPRESSION_ADD MBEDTLS_SSL_COMPRESSION_ADD -SSL_COMPRESS_DEFLATE MBEDTLS_SSL_COMPRESS_DEFLATE -SSL_COMPRESS_NULL MBEDTLS_SSL_COMPRESS_NULL -SSL_DEBUG_BUF MBEDTLS_SSL_DEBUG_BUF -SSL_DEBUG_CRT MBEDTLS_SSL_DEBUG_CRT -SSL_DEBUG_ECP MBEDTLS_SSL_DEBUG_ECP -SSL_DEBUG_MPI MBEDTLS_SSL_DEBUG_MPI -SSL_DEBUG_MSG MBEDTLS_SSL_DEBUG_MSG -SSL_DEBUG_RET MBEDTLS_SSL_DEBUG_RET -SSL_DEFAULT_TICKET_LIFETIME MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME -SSL_DTLS_TIMEOUT_DFL_MAX MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MAX -SSL_DTLS_TIMEOUT_DFL_MIN MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MIN -SSL_EMPTY_RENEGOTIATION_INFO MBEDTLS_SSL_EMPTY_RENEGOTIATION_INFO -SSL_ETM_DISABLED MBEDTLS_SSL_ETM_DISABLED -SSL_ETM_ENABLED MBEDTLS_SSL_ETM_ENABLED -SSL_EXTENDED_MS_DISABLED MBEDTLS_SSL_EXTENDED_MS_DISABLED -SSL_EXTENDED_MS_ENABLED MBEDTLS_SSL_EXTENDED_MS_ENABLED -SSL_FALLBACK_SCSV MBEDTLS_SSL_FALLBACK_SCSV -SSL_FLUSH_BUFFERS MBEDTLS_SSL_FLUSH_BUFFERS -SSL_HANDSHAKE_OVER MBEDTLS_SSL_HANDSHAKE_OVER -SSL_HANDSHAKE_WRAPUP MBEDTLS_SSL_HANDSHAKE_WRAPUP -SSL_HASH_MD5 MBEDTLS_SSL_HASH_MD5 -SSL_HASH_NONE MBEDTLS_SSL_HASH_NONE -SSL_HASH_SHA1 MBEDTLS_SSL_HASH_SHA1 -SSL_HASH_SHA224 MBEDTLS_SSL_HASH_SHA224 -SSL_HASH_SHA256 MBEDTLS_SSL_HASH_SHA256 -SSL_HASH_SHA384 MBEDTLS_SSL_HASH_SHA384 -SSL_HASH_SHA512 MBEDTLS_SSL_HASH_SHA512 -SSL_HELLO_REQUEST MBEDTLS_SSL_HELLO_REQUEST -SSL_HS_CERTIFICATE MBEDTLS_SSL_HS_CERTIFICATE -SSL_HS_CERTIFICATE_REQUEST MBEDTLS_SSL_HS_CERTIFICATE_REQUEST -SSL_HS_CERTIFICATE_VERIFY MBEDTLS_SSL_HS_CERTIFICATE_VERIFY -SSL_HS_CLIENT_HELLO MBEDTLS_SSL_HS_CLIENT_HELLO -SSL_HS_CLIENT_KEY_EXCHANGE MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE -SSL_HS_FINISHED MBEDTLS_SSL_HS_FINISHED -SSL_HS_HELLO_REQUEST MBEDTLS_SSL_HS_HELLO_REQUEST -SSL_HS_HELLO_VERIFY_REQUEST MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST -SSL_HS_NEW_SESSION_TICKET MBEDTLS_SSL_HS_NEW_SESSION_TICKET -SSL_HS_SERVER_HELLO MBEDTLS_SSL_HS_SERVER_HELLO -SSL_HS_SERVER_HELLO_DONE MBEDTLS_SSL_HS_SERVER_HELLO_DONE -SSL_HS_SERVER_KEY_EXCHANGE MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE -SSL_INITIAL_HANDSHAKE MBEDTLS_SSL_INITIAL_HANDSHAKE -SSL_IS_CLIENT MBEDTLS_SSL_IS_CLIENT -SSL_IS_FALLBACK MBEDTLS_SSL_IS_FALLBACK -SSL_IS_NOT_FALLBACK MBEDTLS_SSL_IS_NOT_FALLBACK -SSL_IS_SERVER MBEDTLS_SSL_IS_SERVER -SSL_LEGACY_ALLOW_RENEGOTIATION MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION -SSL_LEGACY_BREAK_HANDSHAKE MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE -SSL_LEGACY_NO_RENEGOTIATION MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION -SSL_LEGACY_RENEGOTIATION MBEDTLS_SSL_LEGACY_RENEGOTIATION -SSL_MAC_ADD MBEDTLS_SSL_MAC_ADD -SSL_MAJOR_VERSION_3 MBEDTLS_SSL_MAJOR_VERSION_3 -SSL_MAX_CONTENT_LEN MBEDTLS_SSL_MAX_CONTENT_LEN -SSL_MAX_FRAG_LEN_1024 MBEDTLS_SSL_MAX_FRAG_LEN_1024 -SSL_MAX_FRAG_LEN_2048 MBEDTLS_SSL_MAX_FRAG_LEN_2048 -SSL_MAX_FRAG_LEN_4096 MBEDTLS_SSL_MAX_FRAG_LEN_4096 -SSL_MAX_FRAG_LEN_512 MBEDTLS_SSL_MAX_FRAG_LEN_512 -SSL_MAX_FRAG_LEN_INVALID MBEDTLS_SSL_MAX_FRAG_LEN_INVALID -SSL_MAX_FRAG_LEN_NONE MBEDTLS_SSL_MAX_FRAG_LEN_NONE -SSL_MAX_MAJOR_VERSION MBEDTLS_SSL_MAX_MAJOR_VERSION -SSL_MAX_MINOR_VERSION MBEDTLS_SSL_MAX_MINOR_VERSION -SSL_MINOR_VERSION_0 MBEDTLS_SSL_MINOR_VERSION_0 -SSL_MINOR_VERSION_1 MBEDTLS_SSL_MINOR_VERSION_1 -SSL_MINOR_VERSION_2 MBEDTLS_SSL_MINOR_VERSION_2 -SSL_MINOR_VERSION_3 MBEDTLS_SSL_MINOR_VERSION_3 -SSL_MIN_MAJOR_VERSION MBEDTLS_SSL_MIN_MAJOR_VERSION -SSL_MIN_MINOR_VERSION MBEDTLS_SSL_MIN_MINOR_VERSION -SSL_MSG_ALERT MBEDTLS_SSL_MSG_ALERT -SSL_MSG_APPLICATION_DATA MBEDTLS_SSL_MSG_APPLICATION_DATA -SSL_MSG_CHANGE_CIPHER_SPEC MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC -SSL_MSG_HANDSHAKE MBEDTLS_SSL_MSG_HANDSHAKE -SSL_PADDING_ADD MBEDTLS_SSL_PADDING_ADD -SSL_RENEGOTIATION MBEDTLS_SSL_RENEGOTIATION -SSL_RENEGOTIATION_DISABLED MBEDTLS_SSL_RENEGOTIATION_DISABLED -SSL_RENEGOTIATION_DONE MBEDTLS_SSL_RENEGOTIATION_DONE -SSL_RENEGOTIATION_ENABLED MBEDTLS_SSL_RENEGOTIATION_ENABLED -SSL_RENEGOTIATION_NOT_ENFORCED MBEDTLS_SSL_RENEGOTIATION_NOT_ENFORCED -SSL_RENEGOTIATION_PENDING MBEDTLS_SSL_RENEGOTIATION_PENDING -SSL_RENEGO_MAX_RECORDS_DEFAULT MBEDTLS_SSL_RENEGO_MAX_RECORDS_DEFAULT -SSL_RETRANS_FINISHED MBEDTLS_SSL_RETRANS_FINISHED -SSL_RETRANS_PREPARING MBEDTLS_SSL_RETRANS_PREPARING -SSL_RETRANS_SENDING MBEDTLS_SSL_RETRANS_SENDING -SSL_RETRANS_WAITING MBEDTLS_SSL_RETRANS_WAITING -SSL_SECURE_RENEGOTIATION MBEDTLS_SSL_SECURE_RENEGOTIATION -SSL_SERVER_CERTIFICATE MBEDTLS_SSL_SERVER_CERTIFICATE -SSL_SERVER_CHANGE_CIPHER_SPEC MBEDTLS_SSL_SERVER_CHANGE_CIPHER_SPEC -SSL_SERVER_FINISHED MBEDTLS_SSL_SERVER_FINISHED -SSL_SERVER_HELLO MBEDTLS_SSL_SERVER_HELLO -SSL_SERVER_HELLO_DONE MBEDTLS_SSL_SERVER_HELLO_DONE -SSL_SERVER_HELLO_VERIFY_REQUEST_SENT MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT -SSL_SERVER_KEY_EXCHANGE MBEDTLS_SSL_SERVER_KEY_EXCHANGE -SSL_SERVER_NEW_SESSION_TICKET MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET -SSL_SESSION_TICKETS_DISABLED MBEDTLS_SSL_SESSION_TICKETS_DISABLED -SSL_SESSION_TICKETS_ENABLED MBEDTLS_SSL_SESSION_TICKETS_ENABLED -SSL_SIG_ANON MBEDTLS_SSL_SIG_ANON -SSL_SIG_ECDSA MBEDTLS_SSL_SIG_ECDSA -SSL_SIG_RSA MBEDTLS_SSL_SIG_RSA -SSL_TRANSPORT_DATAGRAM MBEDTLS_SSL_TRANSPORT_DATAGRAM -SSL_TRANSPORT_STREAM MBEDTLS_SSL_TRANSPORT_STREAM -SSL_TRUNCATED_HMAC_LEN MBEDTLS_SSL_TRUNCATED_HMAC_LEN -SSL_TRUNC_HMAC_DISABLED MBEDTLS_SSL_TRUNC_HMAC_DISABLED -SSL_TRUNC_HMAC_ENABLED MBEDTLS_SSL_TRUNC_HMAC_ENABLED -SSL_VERIFY_DATA_MAX_LEN MBEDTLS_SSL_VERIFY_DATA_MAX_LEN -SSL_VERIFY_NONE MBEDTLS_SSL_VERIFY_NONE -SSL_VERIFY_OPTIONAL MBEDTLS_SSL_VERIFY_OPTIONAL -SSL_VERIFY_REQUIRED MBEDTLS_SSL_VERIFY_REQUIRED -TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA -TLS_DHE_PSK_WITH_AES_128_CBC_SHA MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA -TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 -TLS_DHE_PSK_WITH_AES_128_CCM MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM -TLS_DHE_PSK_WITH_AES_128_CCM_8 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8 -TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 -TLS_DHE_PSK_WITH_AES_256_CBC_SHA MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA -TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 -TLS_DHE_PSK_WITH_AES_256_CCM MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM -TLS_DHE_PSK_WITH_AES_256_CCM_8 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8 -TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 -TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 -TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 -TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 -TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 -TLS_DHE_PSK_WITH_NULL_SHA MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA -TLS_DHE_PSK_WITH_NULL_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256 -TLS_DHE_PSK_WITH_NULL_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384 -TLS_DHE_PSK_WITH_RC4_128_SHA MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA -TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA -TLS_DHE_RSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA -TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 -TLS_DHE_RSA_WITH_AES_128_CCM MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM -TLS_DHE_RSA_WITH_AES_128_CCM_8 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8 -TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 -TLS_DHE_RSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA -TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 -TLS_DHE_RSA_WITH_AES_256_CCM MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM -TLS_DHE_RSA_WITH_AES_256_CCM_8 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8 -TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 -TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA -TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 -TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 -TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA -TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 -TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 -TLS_DHE_RSA_WITH_DES_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA -TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA -TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA -TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 -TLS_ECDHE_ECDSA_WITH_AES_128_CCM MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM -TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 -TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 -TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA -TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 -TLS_ECDHE_ECDSA_WITH_AES_256_CCM MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM -TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 -TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 -TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 -TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 -TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 -TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 -TLS_ECDHE_ECDSA_WITH_NULL_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA -TLS_ECDHE_ECDSA_WITH_RC4_128_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA -TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA -TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA -TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 -TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA -TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 -TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 -TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 -TLS_ECDHE_PSK_WITH_NULL_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA -TLS_ECDHE_PSK_WITH_NULL_SHA256 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256 -TLS_ECDHE_PSK_WITH_NULL_SHA384 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384 -TLS_ECDHE_PSK_WITH_RC4_128_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA -TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA -TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA -TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 -TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 -TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA -TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 -TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 -TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 -TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 -TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 -TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 -TLS_ECDHE_RSA_WITH_NULL_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA -TLS_ECDHE_RSA_WITH_RC4_128_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA -TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA -TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA -TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 -TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 -TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA -TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 -TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 -TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 -TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 -TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 -TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 -TLS_ECDH_ECDSA_WITH_NULL_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA -TLS_ECDH_ECDSA_WITH_RC4_128_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA -TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA -TLS_ECDH_RSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA -TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 -TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 -TLS_ECDH_RSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA -TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 -TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 -TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 -TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 -TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 -TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 -TLS_ECDH_RSA_WITH_NULL_SHA MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA -TLS_ECDH_RSA_WITH_RC4_128_SHA MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA -TLS_EXT_ALPN MBEDTLS_TLS_EXT_ALPN -TLS_EXT_ENCRYPT_THEN_MAC MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC -TLS_EXT_EXTENDED_MASTER_SECRET MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET -TLS_EXT_MAX_FRAGMENT_LENGTH MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH -TLS_EXT_RENEGOTIATION_INFO MBEDTLS_TLS_EXT_RENEGOTIATION_INFO -TLS_EXT_SERVERNAME MBEDTLS_TLS_EXT_SERVERNAME -TLS_EXT_SERVERNAME_HOSTNAME MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME -TLS_EXT_SESSION_TICKET MBEDTLS_TLS_EXT_SESSION_TICKET -TLS_EXT_SIG_ALG MBEDTLS_TLS_EXT_SIG_ALG -TLS_EXT_SUPPORTED_ELLIPTIC_CURVES MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES -TLS_EXT_SUPPORTED_POINT_FORMATS MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS -TLS_EXT_SUPPORTED_POINT_FORMATS_PRESENT MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS_PRESENT -TLS_EXT_TRUNCATED_HMAC MBEDTLS_TLS_EXT_TRUNCATED_HMAC -TLS_PSK_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA -TLS_PSK_WITH_AES_128_CBC_SHA MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA -TLS_PSK_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256 -TLS_PSK_WITH_AES_128_CCM MBEDTLS_TLS_PSK_WITH_AES_128_CCM -TLS_PSK_WITH_AES_128_CCM_8 MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8 -TLS_PSK_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256 -TLS_PSK_WITH_AES_256_CBC_SHA MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA -TLS_PSK_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384 -TLS_PSK_WITH_AES_256_CCM MBEDTLS_TLS_PSK_WITH_AES_256_CCM -TLS_PSK_WITH_AES_256_CCM_8 MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8 -TLS_PSK_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384 -TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 -TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 -TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 -TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 -TLS_PSK_WITH_NULL_SHA MBEDTLS_TLS_PSK_WITH_NULL_SHA -TLS_PSK_WITH_NULL_SHA256 MBEDTLS_TLS_PSK_WITH_NULL_SHA256 -TLS_PSK_WITH_NULL_SHA384 MBEDTLS_TLS_PSK_WITH_NULL_SHA384 -TLS_PSK_WITH_RC4_128_SHA MBEDTLS_TLS_PSK_WITH_RC4_128_SHA -TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA -TLS_RSA_PSK_WITH_AES_128_CBC_SHA MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA -TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 -TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 -TLS_RSA_PSK_WITH_AES_256_CBC_SHA MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA -TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 -TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 -TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 -TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 -TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 -TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 -TLS_RSA_PSK_WITH_NULL_SHA MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA -TLS_RSA_PSK_WITH_NULL_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256 -TLS_RSA_PSK_WITH_NULL_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384 -TLS_RSA_PSK_WITH_RC4_128_SHA MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA -TLS_RSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA -TLS_RSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA -TLS_RSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256 -TLS_RSA_WITH_AES_128_CCM MBEDTLS_TLS_RSA_WITH_AES_128_CCM -TLS_RSA_WITH_AES_128_CCM_8 MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8 -TLS_RSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256 -TLS_RSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA -TLS_RSA_WITH_AES_256_CBC_SHA256 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256 -TLS_RSA_WITH_AES_256_CCM MBEDTLS_TLS_RSA_WITH_AES_256_CCM -TLS_RSA_WITH_AES_256_CCM_8 MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8 -TLS_RSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384 -TLS_RSA_WITH_CAMELLIA_128_CBC_SHA MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA -TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 -TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 -TLS_RSA_WITH_CAMELLIA_256_CBC_SHA MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA -TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 -TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 -TLS_RSA_WITH_DES_CBC_SHA MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA -TLS_RSA_WITH_NULL_MD5 MBEDTLS_TLS_RSA_WITH_NULL_MD5 -TLS_RSA_WITH_NULL_SHA MBEDTLS_TLS_RSA_WITH_NULL_SHA -TLS_RSA_WITH_NULL_SHA256 MBEDTLS_TLS_RSA_WITH_NULL_SHA256 -TLS_RSA_WITH_RC4_128_MD5 MBEDTLS_TLS_RSA_WITH_RC4_128_MD5 -TLS_RSA_WITH_RC4_128_SHA MBEDTLS_TLS_RSA_WITH_RC4_128_SHA -X509_CRT_VERSION_1 MBEDTLS_X509_CRT_VERSION_1 -X509_CRT_VERSION_2 MBEDTLS_X509_CRT_VERSION_2 -X509_CRT_VERSION_3 MBEDTLS_X509_CRT_VERSION_3 -X509_FORMAT_DER MBEDTLS_X509_FORMAT_DER -X509_FORMAT_PEM MBEDTLS_X509_FORMAT_PEM -X509_MAX_DN_NAME_SIZE MBEDTLS_X509_MAX_DN_NAME_SIZE -X509_RFC5280_MAX_SERIAL_LEN MBEDTLS_X509_RFC5280_MAX_SERIAL_LEN -X509_RFC5280_UTC_TIME_LEN MBEDTLS_X509_RFC5280_UTC_TIME_LEN -XTEA_DECRYPT MBEDTLS_XTEA_DECRYPT -XTEA_ENCRYPT MBEDTLS_XTEA_ENCRYPT -_asn1_bitstring mbedtls_asn1_bitstring -_asn1_buf mbedtls_asn1_buf -_asn1_named_data mbedtls_asn1_named_data -_asn1_sequence mbedtls_asn1_sequence -_ssl_cache_context mbedtls_ssl_cache_context -_ssl_cache_entry mbedtls_ssl_cache_entry -_ssl_ciphersuite_t mbedtls_ssl_ciphersuite_t -_ssl_context mbedtls_ssl_context -_ssl_flight_item mbedtls_ssl_flight_item -_ssl_handshake_params mbedtls_ssl_handshake_params -_ssl_key_cert mbedtls_ssl_key_cert -_ssl_premaster_secret mbedtls_ssl_premaster_secret -_ssl_session mbedtls_ssl_session -_ssl_ticket_keys mbedtls_ssl_ticket_keys -_ssl_transform mbedtls_ssl_transform -_x509_crl mbedtls_x509_crl -_x509_crl_entry mbedtls_x509_crl_entry -_x509_crt mbedtls_x509_crt -_x509_csr mbedtls_x509_csr -_x509_time mbedtls_x509_time -_x509write_cert mbedtls_x509write_cert -_x509write_csr mbedtls_x509write_csr -aes_context mbedtls_aes_context -aes_crypt_cbc mbedtls_aes_crypt_cbc -aes_crypt_cfb128 mbedtls_aes_crypt_cfb128 -aes_crypt_cfb8 mbedtls_aes_crypt_cfb8 -aes_crypt_ctr mbedtls_aes_crypt_ctr -aes_crypt_ecb mbedtls_aes_crypt_ecb -aes_free mbedtls_aes_free -aes_init mbedtls_aes_init -aes_self_test mbedtls_aes_self_test -aes_setkey_dec mbedtls_aes_setkey_dec -aes_setkey_enc mbedtls_aes_setkey_enc -aesni_crypt_ecb mbedtls_aesni_crypt_ecb -aesni_gcm_mult mbedtls_aesni_gcm_mult -aesni_inverse_key mbedtls_aesni_inverse_key -aesni_setkey_enc mbedtls_aesni_setkey_enc -aesni_supports mbedtls_aesni_has_support -alarmed mbedtls_timing_alarmed -arc4_context mbedtls_arc4_context -arc4_crypt mbedtls_arc4_crypt -arc4_free mbedtls_arc4_free -arc4_init mbedtls_arc4_init -arc4_self_test mbedtls_arc4_self_test -arc4_setup mbedtls_arc4_setup -asn1_bitstring mbedtls_asn1_bitstring -asn1_buf mbedtls_asn1_buf -asn1_find_named_data mbedtls_asn1_find_named_data -asn1_free_named_data mbedtls_asn1_free_named_data -asn1_free_named_data_list mbedtls_asn1_free_named_data_list -asn1_get_alg mbedtls_asn1_get_alg -asn1_get_alg_null mbedtls_asn1_get_alg_null -asn1_get_bitstring mbedtls_asn1_get_bitstring -asn1_get_bitstring_null mbedtls_asn1_get_bitstring_null -asn1_get_bool mbedtls_asn1_get_bool -asn1_get_int mbedtls_asn1_get_int -asn1_get_len mbedtls_asn1_get_len -asn1_get_mpi mbedtls_asn1_get_mpi -asn1_get_sequence_of mbedtls_asn1_get_sequence_of -asn1_get_tag mbedtls_asn1_get_tag -asn1_named_data mbedtls_asn1_named_data -asn1_sequence mbedtls_asn1_sequence -asn1_store_named_data mbedtls_asn1_store_named_data -asn1_write_algorithm_identifier mbedtls_asn1_write_algorithm_identifier -asn1_write_bitstring mbedtls_asn1_write_bitstring -asn1_write_bool mbedtls_asn1_write_bool -asn1_write_ia5_string mbedtls_asn1_write_ia5_string -asn1_write_int mbedtls_asn1_write_int -asn1_write_len mbedtls_asn1_write_len -asn1_write_mpi mbedtls_asn1_write_mpi -asn1_write_null mbedtls_asn1_write_null -asn1_write_octet_string mbedtls_asn1_write_octet_string -asn1_write_oid mbedtls_asn1_write_oid -asn1_write_printable_string mbedtls_asn1_write_printable_string -asn1_write_raw_buffer mbedtls_asn1_write_raw_buffer -asn1_write_tag mbedtls_asn1_write_tag -base64_decode mbedtls_base64_decode -base64_encode mbedtls_base64_encode -base64_self_test mbedtls_base64_self_test -blowfish_context mbedtls_blowfish_context -blowfish_crypt_cbc mbedtls_blowfish_crypt_cbc -blowfish_crypt_cfb64 mbedtls_blowfish_crypt_cfb64 -blowfish_crypt_ctr mbedtls_blowfish_crypt_ctr -blowfish_crypt_ecb mbedtls_blowfish_crypt_ecb -blowfish_free mbedtls_blowfish_free -blowfish_init mbedtls_blowfish_init -blowfish_setkey mbedtls_blowfish_setkey -camellia_context mbedtls_camellia_context -camellia_crypt_cbc mbedtls_camellia_crypt_cbc -camellia_crypt_cfb128 mbedtls_camellia_crypt_cfb128 -camellia_crypt_ctr mbedtls_camellia_crypt_ctr -camellia_crypt_ecb mbedtls_camellia_crypt_ecb -camellia_free mbedtls_camellia_free -camellia_init mbedtls_camellia_init -camellia_self_test mbedtls_camellia_self_test -camellia_setkey_dec mbedtls_camellia_setkey_dec -camellia_setkey_enc mbedtls_camellia_setkey_enc -ccm_auth_decrypt mbedtls_ccm_auth_decrypt -ccm_context mbedtls_ccm_context -ccm_encrypt_and_tag mbedtls_ccm_encrypt_and_tag -ccm_free mbedtls_ccm_free -ccm_init mbedtls_ccm_init -ccm_self_test mbedtls_ccm_self_test -cipher_auth_decrypt mbedtls_cipher_auth_decrypt -cipher_auth_encrypt mbedtls_cipher_auth_encrypt -cipher_base_t mbedtls_cipher_base_t -cipher_check_tag mbedtls_cipher_check_tag -cipher_context_t mbedtls_cipher_context_t -cipher_crypt mbedtls_cipher_crypt -cipher_definition_t mbedtls_cipher_definition_t -cipher_definitions mbedtls_cipher_definitions -cipher_finish mbedtls_cipher_finish -cipher_free mbedtls_cipher_free -cipher_free_ctx mbedtls_cipher_free_ctx -cipher_get_block_size mbedtls_cipher_get_block_size -cipher_get_cipher_mode mbedtls_cipher_get_cipher_mode -cipher_get_iv_size mbedtls_cipher_get_iv_size -cipher_get_key_size mbedtls_cipher_get_key_bitlen -cipher_get_name mbedtls_cipher_get_name -cipher_get_operation mbedtls_cipher_get_operation -cipher_get_type mbedtls_cipher_get_type -cipher_id_t mbedtls_cipher_id_t -cipher_info_from_string mbedtls_cipher_info_from_string -cipher_info_from_type mbedtls_cipher_info_from_type -cipher_info_from_values mbedtls_cipher_info_from_values -cipher_info_t mbedtls_cipher_info_t -cipher_init mbedtls_cipher_init -cipher_init_ctx mbedtls_cipher_setup -cipher_list mbedtls_cipher_list -cipher_mode_t mbedtls_cipher_mode_t -cipher_padding_t mbedtls_cipher_padding_t -cipher_reset mbedtls_cipher_reset -cipher_self_test mbedtls_cipher_self_test -cipher_set_iv mbedtls_cipher_set_iv -cipher_set_padding_mode mbedtls_cipher_set_padding_mode -cipher_setkey mbedtls_cipher_setkey -cipher_type_t mbedtls_cipher_type_t -cipher_update mbedtls_cipher_update -cipher_update_ad mbedtls_cipher_update_ad -cipher_write_tag mbedtls_cipher_write_tag -ctr_drbg_context mbedtls_ctr_drbg_context -ctr_drbg_free mbedtls_ctr_drbg_free -ctr_drbg_init mbedtls_ctr_drbg_init -ctr_drbg_init_entropy_len mbedtls_ctr_drbg_init_entropy_len -ctr_drbg_random mbedtls_ctr_drbg_random -ctr_drbg_random_with_add mbedtls_ctr_drbg_random_with_add -ctr_drbg_reseed mbedtls_ctr_drbg_reseed -ctr_drbg_self_test mbedtls_ctr_drbg_self_test -ctr_drbg_set_entropy_len mbedtls_ctr_drbg_set_entropy_len -ctr_drbg_set_prediction_resistance mbedtls_ctr_drbg_set_prediction_resistance -ctr_drbg_set_reseed_interval mbedtls_ctr_drbg_set_reseed_interval -ctr_drbg_update mbedtls_ctr_drbg_update -ctr_drbg_update_seed_file mbedtls_ctr_drbg_update_seed_file -ctr_drbg_write_seed_file mbedtls_ctr_drbg_write_seed_file -debug_fmt mbedtls_debug_fmt -debug_print_buf mbedtls_debug_print_buf -debug_print_crt mbedtls_debug_print_crt -debug_print_ecp mbedtls_debug_print_ecp -debug_print_mpi mbedtls_debug_print_mpi -debug_print_msg mbedtls_debug_print_msg -debug_print_ret mbedtls_debug_print_ret -debug_set_log_mode mbedtls_debug_set_log_mode -debug_set_threshold mbedtls_debug_set_threshold -des3_context mbedtls_des3_context -des3_crypt_cbc mbedtls_des3_crypt_cbc -des3_crypt_ecb mbedtls_des3_crypt_ecb -des3_free mbedtls_des3_free -des3_init mbedtls_des3_init -des3_set2key_dec mbedtls_des3_set2key_dec -des3_set2key_enc mbedtls_des3_set2key_enc -des3_set3key_dec mbedtls_des3_set3key_dec -des3_set3key_enc mbedtls_des3_set3key_enc -des_context mbedtls_des_context -des_crypt_cbc mbedtls_des_crypt_cbc -des_crypt_ecb mbedtls_des_crypt_ecb -des_free mbedtls_des_free -des_init mbedtls_des_init -des_key_check_key_parity mbedtls_des_key_check_key_parity -des_key_check_weak mbedtls_des_key_check_weak -des_key_set_parity mbedtls_des_key_set_parity -des_self_test mbedtls_des_self_test -des_setkey_dec mbedtls_des_setkey_dec -des_setkey_enc mbedtls_des_setkey_enc -dhm_calc_secret mbedtls_dhm_calc_secret -dhm_context mbedtls_dhm_context -dhm_free mbedtls_dhm_free -dhm_init mbedtls_dhm_init -dhm_make_params mbedtls_dhm_make_params -dhm_make_public mbedtls_dhm_make_public -dhm_parse_dhm mbedtls_dhm_parse_dhm -dhm_parse_dhmfile mbedtls_dhm_parse_dhmfile -dhm_read_params mbedtls_dhm_read_params -dhm_read_public mbedtls_dhm_read_public -dhm_self_test mbedtls_dhm_self_test -ecdh_calc_secret mbedtls_ecdh_calc_secret -ecdh_compute_shared mbedtls_ecdh_compute_shared -ecdh_context mbedtls_ecdh_context -ecdh_free mbedtls_ecdh_free -ecdh_gen_public mbedtls_ecdh_gen_public -ecdh_get_params mbedtls_ecdh_get_params -ecdh_init mbedtls_ecdh_init -ecdh_make_params mbedtls_ecdh_make_params -ecdh_make_public mbedtls_ecdh_make_public -ecdh_read_params mbedtls_ecdh_read_params -ecdh_read_public mbedtls_ecdh_read_public -ecdh_self_test mbedtls_ecdh_self_test -ecdh_side mbedtls_ecdh_side -ecdsa_context mbedtls_ecdsa_context -ecdsa_free mbedtls_ecdsa_free -ecdsa_from_keypair mbedtls_ecdsa_from_keypair -ecdsa_genkey mbedtls_ecdsa_genkey -ecdsa_info mbedtls_ecdsa_info -ecdsa_init mbedtls_ecdsa_init -ecdsa_read_signature mbedtls_ecdsa_read_signature -ecdsa_self_test mbedtls_ecdsa_self_test -ecdsa_sign mbedtls_ecdsa_sign -ecdsa_sign_det mbedtls_ecdsa_sign_det -ecdsa_verify mbedtls_ecdsa_verify -ecdsa_write_signature mbedtls_ecdsa_write_signature -ecdsa_write_signature_det mbedtls_ecdsa_write_signature_det -eckey_info mbedtls_eckey_info -eckeydh_info mbedtls_eckeydh_info -ecp_add mbedtls_ecp_add -ecp_check_privkey mbedtls_ecp_check_privkey -ecp_check_pub_priv mbedtls_ecp_check_pub_priv -ecp_check_pubkey mbedtls_ecp_check_pubkey -ecp_copy mbedtls_ecp_copy -ecp_curve_info mbedtls_ecp_curve_info -ecp_curve_info_from_grp_id mbedtls_ecp_curve_info_from_grp_id -ecp_curve_info_from_name mbedtls_ecp_curve_info_from_name -ecp_curve_info_from_tls_id mbedtls_ecp_curve_info_from_tls_id -ecp_curve_list mbedtls_ecp_curve_list -ecp_gen_key mbedtls_ecp_gen_key -ecp_gen_keypair mbedtls_ecp_gen_keypair -ecp_group mbedtls_ecp_group -ecp_group_copy mbedtls_ecp_group_copy -ecp_group_free mbedtls_ecp_group_free -ecp_group_id mbedtls_ecp_group_id -ecp_group_init mbedtls_ecp_group_init -ecp_group_read_string mbedtls_ecp_group_read_string -ecp_grp_id_list mbedtls_ecp_grp_id_list -ecp_is_zero mbedtls_ecp_is_zero -ecp_keypair mbedtls_ecp_keypair -ecp_keypair_free mbedtls_ecp_keypair_free -ecp_keypair_init mbedtls_ecp_keypair_init -ecp_mul mbedtls_ecp_mul -ecp_point mbedtls_ecp_point -ecp_point_free mbedtls_ecp_point_free -ecp_point_init mbedtls_ecp_point_init -ecp_point_read_binary mbedtls_ecp_point_read_binary -ecp_point_read_string mbedtls_ecp_point_read_string -ecp_point_write_binary mbedtls_ecp_point_write_binary -ecp_self_test mbedtls_ecp_self_test -ecp_set_zero mbedtls_ecp_set_zero -ecp_sub mbedtls_ecp_sub -ecp_tls_read_group mbedtls_ecp_tls_read_group -ecp_tls_read_point mbedtls_ecp_tls_read_point -ecp_tls_write_group mbedtls_ecp_tls_write_group -ecp_tls_write_point mbedtls_ecp_tls_write_point -ecp_use_known_dp mbedtls_ecp_group_load -entropy_add_source mbedtls_entropy_add_source -entropy_context mbedtls_entropy_context -entropy_free mbedtls_entropy_free -entropy_func mbedtls_entropy_func -entropy_gather mbedtls_entropy_gather -entropy_init mbedtls_entropy_init -entropy_self_test mbedtls_entropy_self_test -entropy_update_manual mbedtls_entropy_update_manual -entropy_update_seed_file mbedtls_entropy_update_seed_file -entropy_write_seed_file mbedtls_entropy_write_seed_file -error_strerror mbedtls_strerror -f_source_ptr mbedtls_entropy_f_source_ptr -gcm_auth_decrypt mbedtls_gcm_auth_decrypt -gcm_context mbedtls_gcm_context -gcm_crypt_and_tag mbedtls_gcm_crypt_and_tag -gcm_finish mbedtls_gcm_finish -gcm_free mbedtls_gcm_free -gcm_init mbedtls_gcm_init -gcm_self_test mbedtls_gcm_self_test -gcm_starts mbedtls_gcm_starts -gcm_update mbedtls_gcm_update -get_timer mbedtls_timing_get_timer -hardclock mbedtls_timing_hardclock -hardclock_poll mbedtls_hardclock_poll -havege_free mbedtls_havege_free -havege_init mbedtls_havege_init -havege_poll mbedtls_havege_poll -havege_random mbedtls_havege_random -havege_state mbedtls_havege_state -hmac_drbg_context mbedtls_hmac_drbg_context -hmac_drbg_free mbedtls_hmac_drbg_free -hmac_drbg_init mbedtls_hmac_drbg_init -hmac_drbg_init_buf mbedtls_hmac_drbg_init_buf -hmac_drbg_random mbedtls_hmac_drbg_random -hmac_drbg_random_with_add mbedtls_hmac_drbg_random_with_add -hmac_drbg_reseed mbedtls_hmac_drbg_reseed -hmac_drbg_self_test mbedtls_hmac_drbg_self_test -hmac_drbg_set_entropy_len mbedtls_hmac_drbg_set_entropy_len -hmac_drbg_set_prediction_resistance mbedtls_hmac_drbg_set_prediction_resistance -hmac_drbg_set_reseed_interval mbedtls_hmac_drbg_set_reseed_interval -hmac_drbg_update mbedtls_hmac_drbg_update -hmac_drbg_update_seed_file mbedtls_hmac_drbg_update_seed_file -hmac_drbg_write_seed_file mbedtls_hmac_drbg_write_seed_file -hr_time mbedtls_timing_hr_time -key_exchange_type_t mbedtls_key_exchange_type_t -m_sleep mbedtls_timing_m_sleep -md mbedtls_md -md2 mbedtls_md2 -md2_context mbedtls_md2_context -md2_file mbedtls_md2_file -md2_finish mbedtls_md2_finish -md2_free mbedtls_md2_free -md2_hmac mbedtls_md2_hmac -md2_hmac_finish mbedtls_md2_hmac_finish -md2_hmac_reset mbedtls_md2_hmac_reset -md2_hmac_starts mbedtls_md2_hmac_starts -md2_hmac_update mbedtls_md2_hmac_update -md2_info mbedtls_md2_info -md2_init mbedtls_md2_init -md2_process mbedtls_md2_process -md2_self_test mbedtls_md2_self_test -md2_starts mbedtls_md2_starts -md2_update mbedtls_md2_update -md4 mbedtls_md4 -md4_context mbedtls_md4_context -md4_file mbedtls_md4_file -md4_finish mbedtls_md4_finish -md4_free mbedtls_md4_free -md4_hmac mbedtls_md4_hmac -md4_hmac_finish mbedtls_md4_hmac_finish -md4_hmac_reset mbedtls_md4_hmac_reset -md4_hmac_starts mbedtls_md4_hmac_starts -md4_hmac_update mbedtls_md4_hmac_update -md4_info mbedtls_md4_info -md4_init mbedtls_md4_init -md4_process mbedtls_md4_process -md4_self_test mbedtls_md4_self_test -md4_starts mbedtls_md4_starts -md4_update mbedtls_md4_update -md5 mbedtls_md5 -md5_context mbedtls_md5_context -md5_file mbedtls_md5_file -md5_finish mbedtls_md5_finish -md5_free mbedtls_md5_free -md5_hmac mbedtls_md5_hmac -md5_hmac_finish mbedtls_md5_hmac_finish -md5_hmac_reset mbedtls_md5_hmac_reset -md5_hmac_starts mbedtls_md5_hmac_starts -md5_hmac_update mbedtls_md5_hmac_update -md5_info mbedtls_md5_info -md5_init mbedtls_md5_init -md5_process mbedtls_md5_process -md5_self_test mbedtls_md5_self_test -md5_starts mbedtls_md5_starts -md5_update mbedtls_md5_update -md_context_t mbedtls_md_context_t -md_file mbedtls_md_file -md_finish mbedtls_md_finish -md_free mbedtls_md_free -md_free_ctx mbedtls_md_free_ctx -md_get_name mbedtls_md_get_name -md_get_size mbedtls_md_get_size -md_get_type mbedtls_md_get_type -md_hmac mbedtls_md_hmac -md_hmac_finish mbedtls_md_hmac_finish -md_hmac_reset mbedtls_md_hmac_reset -md_hmac_starts mbedtls_md_hmac_starts -md_hmac_update mbedtls_md_hmac_update -md_info_from_string mbedtls_md_info_from_string -md_info_from_type mbedtls_md_info_from_type -md_info_t mbedtls_md_info_t -md_init mbedtls_md_init -md_init_ctx mbedtls_md_init_ctx -md_list mbedtls_md_list -md_process mbedtls_md_process -md_starts mbedtls_md_starts -md_type_t mbedtls_md_type_t -md_update mbedtls_md_update -memory_buffer_alloc_cur_get mbedtls_memory_buffer_alloc_cur_get -memory_buffer_alloc_free mbedtls_memory_buffer_alloc_free -memory_buffer_alloc_init mbedtls_memory_buffer_alloc_init -memory_buffer_alloc_max_get mbedtls_memory_buffer_alloc_max_get -memory_buffer_alloc_max_reset mbedtls_memory_buffer_alloc_max_reset -memory_buffer_alloc_self_test mbedtls_memory_buffer_alloc_self_test -memory_buffer_alloc_status mbedtls_memory_buffer_alloc_status -memory_buffer_alloc_verify mbedtls_memory_buffer_alloc_verify -memory_buffer_set_verify mbedtls_memory_buffer_set_verify -memory_set_own mbedtls_memory_set_own -mpi mbedtls_mpi -mpi_add_abs mbedtls_mpi_add_abs -mpi_add_int mbedtls_mpi_add_int -mpi_add_mpi mbedtls_mpi_add_mpi -mpi_cmp_abs mbedtls_mpi_cmp_abs -mpi_cmp_int mbedtls_mpi_cmp_int -mpi_cmp_mpi mbedtls_mpi_cmp_mpi -mpi_copy mbedtls_mpi_copy -mpi_div_int mbedtls_mpi_div_int -mpi_div_mpi mbedtls_mpi_div_mpi -mpi_exp_mod mbedtls_mpi_exp_mod -mpi_fill_random mbedtls_mpi_fill_random -mpi_free mbedtls_mpi_free -mpi_gcd mbedtls_mpi_gcd -mpi_gen_prime mbedtls_mpi_gen_prime -mpi_get_bit mbedtls_mpi_get_bit -mpi_grow mbedtls_mpi_grow -mpi_init mbedtls_mpi_init -mpi_inv_mod mbedtls_mpi_inv_mod -mpi_is_prime mbedtls_mpi_is_prime -mpi_lsb mbedtls_mpi_lsb -mpi_lset mbedtls_mpi_lset -mpi_mod_int mbedtls_mpi_mod_int -mpi_mod_mpi mbedtls_mpi_mod_mpi -mpi_msb mbedtls_mpi_bitlen -mpi_mul_int mbedtls_mpi_mul_int -mpi_mul_mpi mbedtls_mpi_mul_mpi -mpi_read_binary mbedtls_mpi_read_binary -mpi_read_file mbedtls_mpi_read_file -mpi_read_string mbedtls_mpi_read_string -mpi_safe_cond_assign mbedtls_mpi_safe_cond_assign -mpi_safe_cond_swap mbedtls_mpi_safe_cond_swap -mpi_self_test mbedtls_mpi_self_test -mpi_set_bit mbedtls_mpi_set_bit -mpi_shift_l mbedtls_mpi_shift_l -mpi_shift_r mbedtls_mpi_shift_r -mpi_shrink mbedtls_mpi_shrink -mpi_size mbedtls_mpi_size -mpi_sub_abs mbedtls_mpi_sub_abs -mpi_sub_int mbedtls_mpi_sub_int -mpi_sub_mpi mbedtls_mpi_sub_mpi -mpi_swap mbedtls_mpi_swap -mpi_write_binary mbedtls_mpi_write_binary -mpi_write_file mbedtls_mpi_write_file -mpi_write_string mbedtls_mpi_write_string -net_accept mbedtls_net_accept -net_bind mbedtls_net_bind -net_close mbedtls_net_free -net_connect mbedtls_net_connect -net_recv mbedtls_net_recv -net_recv_timeout mbedtls_net_recv_timeout -net_send mbedtls_net_send -net_set_block mbedtls_net_set_block -net_set_nonblock mbedtls_net_set_nonblock -net_usleep mbedtls_net_usleep -oid_descriptor_t mbedtls_oid_descriptor_t -oid_get_attr_short_name mbedtls_oid_get_attr_short_name -oid_get_cipher_alg mbedtls_oid_get_cipher_alg -oid_get_ec_grp mbedtls_oid_get_ec_grp -oid_get_extended_key_usage mbedtls_oid_get_extended_key_usage -oid_get_md_alg mbedtls_oid_get_md_alg -oid_get_numeric_string mbedtls_oid_get_numeric_string -oid_get_oid_by_ec_grp mbedtls_oid_get_oid_by_ec_grp -oid_get_oid_by_md mbedtls_oid_get_oid_by_md -oid_get_oid_by_pk_alg mbedtls_oid_get_oid_by_pk_alg -oid_get_oid_by_sig_alg mbedtls_oid_get_oid_by_sig_alg -oid_get_pk_alg mbedtls_oid_get_pk_alg -oid_get_pkcs12_pbe_alg mbedtls_oid_get_pkcs12_pbe_alg -oid_get_sig_alg mbedtls_oid_get_sig_alg -oid_get_sig_alg_desc mbedtls_oid_get_sig_alg_desc -oid_get_x509_ext_type mbedtls_oid_get_x509_ext_type -operation_t mbedtls_operation_t -padlock_supports mbedtls_padlock_has_support -padlock_xcryptcbc mbedtls_padlock_xcryptcbc -padlock_xcryptecb mbedtls_padlock_xcryptecb -pem_context mbedtls_pem_context -pem_free mbedtls_pem_free -pem_init mbedtls_pem_init -pem_read_buffer mbedtls_pem_read_buffer -pem_write_buffer mbedtls_pem_write_buffer -pk_can_do mbedtls_pk_can_do -pk_check_pair mbedtls_pk_check_pair -pk_context mbedtls_pk_context -pk_debug mbedtls_pk_debug -pk_debug_item mbedtls_pk_debug_item -pk_debug_type mbedtls_pk_debug_type -pk_decrypt mbedtls_pk_decrypt -pk_ec mbedtls_pk_ec -pk_encrypt mbedtls_pk_encrypt -pk_free mbedtls_pk_free -pk_get_len mbedtls_pk_get_len -pk_get_name mbedtls_pk_get_name -pk_get_size mbedtls_pk_get_bitlen -pk_get_type mbedtls_pk_get_type -pk_info_from_type mbedtls_pk_info_from_type -pk_info_t mbedtls_pk_info_t -pk_init mbedtls_pk_init -pk_init_ctx mbedtls_pk_setup -pk_init_ctx_rsa_alt mbedtls_pk_setup_rsa_alt -pk_load_file mbedtls_pk_load_file -pk_parse_key mbedtls_pk_parse_key -pk_parse_keyfile mbedtls_pk_parse_keyfile -pk_parse_public_key mbedtls_pk_parse_public_key -pk_parse_public_keyfile mbedtls_pk_parse_public_keyfile -pk_parse_subpubkey mbedtls_pk_parse_subpubkey -pk_rsa mbedtls_pk_rsa -pk_rsa_alt_decrypt_func mbedtls_pk_rsa_alt_decrypt_func -pk_rsa_alt_key_len_func mbedtls_pk_rsa_alt_key_len_func -pk_rsa_alt_sign_func mbedtls_pk_rsa_alt_sign_func -pk_rsassa_pss_options mbedtls_pk_rsassa_pss_options -pk_sign mbedtls_pk_sign -pk_type_t mbedtls_pk_type_t -pk_verify mbedtls_pk_verify -pk_verify_ext mbedtls_pk_verify_ext -pk_write_key_der mbedtls_pk_write_key_der -pk_write_key_pem mbedtls_pk_write_key_pem -pk_write_pubkey mbedtls_pk_write_pubkey -pk_write_pubkey_der mbedtls_pk_write_pubkey_der -pk_write_pubkey_pem mbedtls_pk_write_pubkey_pem -pkcs11_context mbedtls_pkcs11_context -pkcs11_decrypt mbedtls_pkcs11_decrypt -pkcs11_priv_key_free mbedtls_pkcs11_priv_key_free -pkcs11_priv_key_init mbedtls_pkcs11_priv_key_bind -pkcs11_sign mbedtls_pkcs11_sign -pkcs11_x509_cert_init mbedtls_pkcs11_x509_cert_bind -pkcs12_derivation mbedtls_pkcs12_derivation -pkcs12_pbe mbedtls_pkcs12_pbe -pkcs12_pbe_sha1_rc4_128 mbedtls_pkcs12_pbe_sha1_rc4_128 -pkcs5_pbes2 mbedtls_pkcs5_pbes2 -pkcs5_pbkdf2_hmac mbedtls_pkcs5_pbkdf2_hmac -pkcs5_self_test mbedtls_pkcs5_self_test -platform_entropy_poll mbedtls_platform_entropy_poll -platform_set_exit mbedtls_platform_set_exit -platform_set_fprintf mbedtls_platform_set_fprintf -platform_set_malloc_free mbedtls_platform_set_malloc_free -platform_set_printf mbedtls_platform_set_printf -platform_set_snprintf mbedtls_platform_set_snprintf -polarssl_exit mbedtls_exit -polarssl_fprintf mbedtls_fprintf -polarssl_free mbedtls_free -polarssl_malloc mbedtls_malloc -polarssl_mutex_free mbedtls_mutex_free -polarssl_mutex_init mbedtls_mutex_init -polarssl_mutex_lock mbedtls_mutex_lock -polarssl_mutex_unlock mbedtls_mutex_unlock -polarssl_printf mbedtls_printf -polarssl_snprintf mbedtls_snprintf -polarssl_strerror mbedtls_strerror -ripemd160 mbedtls_ripemd160 -ripemd160_context mbedtls_ripemd160_context -ripemd160_file mbedtls_ripemd160_file -ripemd160_finish mbedtls_ripemd160_finish -ripemd160_free mbedtls_ripemd160_free -ripemd160_hmac mbedtls_ripemd160_hmac -ripemd160_hmac_finish mbedtls_ripemd160_hmac_finish -ripemd160_hmac_reset mbedtls_ripemd160_hmac_reset -ripemd160_hmac_starts mbedtls_ripemd160_hmac_starts -ripemd160_hmac_update mbedtls_ripemd160_hmac_update -ripemd160_info mbedtls_ripemd160_info -ripemd160_init mbedtls_ripemd160_init -ripemd160_process mbedtls_ripemd160_process -ripemd160_self_test mbedtls_ripemd160_self_test -ripemd160_starts mbedtls_ripemd160_starts -ripemd160_update mbedtls_ripemd160_update -rsa_alt_context mbedtls_rsa_alt_context -rsa_alt_info mbedtls_rsa_alt_info -rsa_check_privkey mbedtls_rsa_check_privkey -rsa_check_pub_priv mbedtls_rsa_check_pub_priv -rsa_check_pubkey mbedtls_rsa_check_pubkey -rsa_context mbedtls_rsa_context -rsa_copy mbedtls_rsa_copy -rsa_decrypt_func mbedtls_rsa_decrypt_func -rsa_free mbedtls_rsa_free -rsa_gen_key mbedtls_rsa_gen_key -rsa_info mbedtls_rsa_info -rsa_init mbedtls_rsa_init -rsa_key_len_func mbedtls_rsa_key_len_func -rsa_pkcs1_decrypt mbedtls_rsa_pkcs1_decrypt -rsa_pkcs1_encrypt mbedtls_rsa_pkcs1_encrypt -rsa_pkcs1_sign mbedtls_rsa_pkcs1_sign -rsa_pkcs1_verify mbedtls_rsa_pkcs1_verify -rsa_private mbedtls_rsa_private -rsa_public mbedtls_rsa_public -rsa_rsaes_oaep_decrypt mbedtls_rsa_rsaes_oaep_decrypt -rsa_rsaes_oaep_encrypt mbedtls_rsa_rsaes_oaep_encrypt -rsa_rsaes_pkcs1_v15_decrypt mbedtls_rsa_rsaes_pkcs1_v15_decrypt -rsa_rsaes_pkcs1_v15_encrypt mbedtls_rsa_rsaes_pkcs1_v15_encrypt -rsa_rsassa_pkcs1_v15_sign mbedtls_rsa_rsassa_pkcs1_v15_sign -rsa_rsassa_pkcs1_v15_verify mbedtls_rsa_rsassa_pkcs1_v15_verify -rsa_rsassa_pss_sign mbedtls_rsa_rsassa_pss_sign -rsa_rsassa_pss_verify mbedtls_rsa_rsassa_pss_verify -rsa_rsassa_pss_verify_ext mbedtls_rsa_rsassa_pss_verify_ext -rsa_self_test mbedtls_rsa_self_test -rsa_set_padding mbedtls_rsa_set_padding -rsa_sign_func mbedtls_rsa_sign_func -safer_memcmp mbedtls_ssl_safer_memcmp -set_alarm mbedtls_set_alarm -sha1 mbedtls_sha1 -sha1_context mbedtls_sha1_context -sha1_file mbedtls_sha1_file -sha1_finish mbedtls_sha1_finish -sha1_free mbedtls_sha1_free -sha1_hmac mbedtls_sha1_hmac -sha1_hmac_finish mbedtls_sha1_hmac_finish -sha1_hmac_reset mbedtls_sha1_hmac_reset -sha1_hmac_starts mbedtls_sha1_hmac_starts -sha1_hmac_update mbedtls_sha1_hmac_update -sha1_info mbedtls_sha1_info -sha1_init mbedtls_sha1_init -sha1_process mbedtls_sha1_process -sha1_self_test mbedtls_sha1_self_test -sha1_starts mbedtls_sha1_starts -sha1_update mbedtls_sha1_update -sha224_info mbedtls_sha224_info -sha256 mbedtls_sha256 -sha256_context mbedtls_sha256_context -sha256_file mbedtls_sha256_file -sha256_finish mbedtls_sha256_finish -sha256_free mbedtls_sha256_free -sha256_hmac mbedtls_sha256_hmac -sha256_hmac_finish mbedtls_sha256_hmac_finish -sha256_hmac_reset mbedtls_sha256_hmac_reset -sha256_hmac_starts mbedtls_sha256_hmac_starts -sha256_hmac_update mbedtls_sha256_hmac_update -sha256_info mbedtls_sha256_info -sha256_init mbedtls_sha256_init -sha256_process mbedtls_sha256_process -sha256_self_test mbedtls_sha256_self_test -sha256_starts mbedtls_sha256_starts -sha256_update mbedtls_sha256_update -sha384_info mbedtls_sha384_info -sha512 mbedtls_sha512 -sha512_context mbedtls_sha512_context -sha512_file mbedtls_sha512_file -sha512_finish mbedtls_sha512_finish -sha512_free mbedtls_sha512_free -sha512_hmac mbedtls_sha512_hmac -sha512_hmac_finish mbedtls_sha512_hmac_finish -sha512_hmac_reset mbedtls_sha512_hmac_reset -sha512_hmac_starts mbedtls_sha512_hmac_starts -sha512_hmac_update mbedtls_sha512_hmac_update -sha512_info mbedtls_sha512_info -sha512_init mbedtls_sha512_init -sha512_process mbedtls_sha512_process -sha512_self_test mbedtls_sha512_self_test -sha512_starts mbedtls_sha512_starts -sha512_update mbedtls_sha512_update -source_state mbedtls_entropy_source_state -ssl_cache_context mbedtls_ssl_cache_context -ssl_cache_entry mbedtls_ssl_cache_entry -ssl_cache_free mbedtls_ssl_cache_free -ssl_cache_get mbedtls_ssl_cache_get -ssl_cache_init mbedtls_ssl_cache_init -ssl_cache_set mbedtls_ssl_cache_set -ssl_cache_set_max_entries mbedtls_ssl_cache_set_max_entries -ssl_cache_set_timeout mbedtls_ssl_cache_set_timeout -ssl_check_cert_usage mbedtls_ssl_check_cert_usage -ssl_ciphersuite_from_id mbedtls_ssl_ciphersuite_from_id -ssl_ciphersuite_from_string mbedtls_ssl_ciphersuite_from_string -ssl_ciphersuite_t mbedtls_ssl_ciphersuite_t -ssl_ciphersuite_uses_ec mbedtls_ssl_ciphersuite_uses_ec -ssl_ciphersuite_uses_psk mbedtls_ssl_ciphersuite_uses_psk -ssl_close_notify mbedtls_ssl_close_notify -ssl_context mbedtls_ssl_context -ssl_cookie_check mbedtls_ssl_cookie_check -ssl_cookie_check_t mbedtls_ssl_cookie_check_t -ssl_cookie_ctx mbedtls_ssl_cookie_ctx -ssl_cookie_free mbedtls_ssl_cookie_free -ssl_cookie_init mbedtls_ssl_cookie_init -ssl_cookie_set_timeout mbedtls_ssl_cookie_set_timeout -ssl_cookie_setup mbedtls_ssl_cookie_setup -ssl_cookie_write mbedtls_ssl_cookie_write -ssl_cookie_write_t mbedtls_ssl_cookie_write_t -ssl_curve_is_acceptable mbedtls_ssl_curve_is_acceptable -ssl_derive_keys mbedtls_ssl_derive_keys -ssl_dtls_replay_check mbedtls_ssl_dtls_replay_check -ssl_dtls_replay_update mbedtls_ssl_dtls_replay_update -ssl_fetch_input mbedtls_ssl_fetch_input -ssl_flight_item mbedtls_ssl_flight_item -ssl_flush_output mbedtls_ssl_flush_output -ssl_free mbedtls_ssl_free -ssl_get_alpn_protocol mbedtls_ssl_get_alpn_protocol -ssl_get_bytes_avail mbedtls_ssl_get_bytes_avail -ssl_get_ciphersuite mbedtls_ssl_get_ciphersuite -ssl_get_ciphersuite_id mbedtls_ssl_get_ciphersuite_id -ssl_get_ciphersuite_name mbedtls_ssl_get_ciphersuite_name -ssl_get_ciphersuite_sig_pk_alg mbedtls_ssl_get_ciphersuite_sig_pk_alg -ssl_get_peer_cert mbedtls_ssl_get_peer_cert -ssl_get_record_expansion mbedtls_ssl_get_record_expansion -ssl_get_session mbedtls_ssl_get_session -ssl_get_verify_result mbedtls_ssl_get_verify_result -ssl_get_version mbedtls_ssl_get_version -ssl_handshake mbedtls_ssl_handshake -ssl_handshake_client_step mbedtls_ssl_handshake_client_step -ssl_handshake_free mbedtls_ssl_handshake_free -ssl_handshake_params mbedtls_ssl_handshake_params -ssl_handshake_server_step mbedtls_ssl_handshake_server_step -ssl_handshake_step mbedtls_ssl_handshake_step -ssl_handshake_wrapup mbedtls_ssl_handshake_wrapup -ssl_hdr_len mbedtls_ssl_hdr_len -ssl_hs_hdr_len mbedtls_ssl_hs_hdr_len -ssl_hw_record_activate mbedtls_ssl_hw_record_activate -ssl_hw_record_finish mbedtls_ssl_hw_record_finish -ssl_hw_record_init mbedtls_ssl_hw_record_init -ssl_hw_record_read mbedtls_ssl_hw_record_read -ssl_hw_record_reset mbedtls_ssl_hw_record_reset -ssl_hw_record_write mbedtls_ssl_hw_record_write -ssl_init mbedtls_ssl_init -ssl_key_cert mbedtls_ssl_key_cert -ssl_legacy_renegotiation mbedtls_ssl_conf_legacy_renegotiation -ssl_list_ciphersuites mbedtls_ssl_list_ciphersuites -ssl_md_alg_from_hash mbedtls_ssl_md_alg_from_hash -ssl_optimize_checksum mbedtls_ssl_optimize_checksum -ssl_own_cert mbedtls_ssl_own_cert -ssl_own_key mbedtls_ssl_own_key -ssl_parse_certificate mbedtls_ssl_parse_certificate -ssl_parse_change_cipher_spec mbedtls_ssl_parse_change_cipher_spec -ssl_parse_finished mbedtls_ssl_parse_finished -ssl_pk_alg_from_sig mbedtls_ssl_pk_alg_from_sig -ssl_pkcs11_decrypt mbedtls_ssl_pkcs11_decrypt -ssl_pkcs11_key_len mbedtls_ssl_pkcs11_key_len -ssl_pkcs11_sign mbedtls_ssl_pkcs11_sign -ssl_psk_derive_premaster mbedtls_ssl_psk_derive_premaster -ssl_read mbedtls_ssl_read -ssl_read_record mbedtls_ssl_read_record -ssl_read_version mbedtls_ssl_read_version -ssl_recv_flight_completed mbedtls_ssl_recv_flight_completed -ssl_renegotiate mbedtls_ssl_renegotiate -ssl_resend mbedtls_ssl_resend -ssl_reset_checksum mbedtls_ssl_reset_checksum -ssl_send_alert_message mbedtls_ssl_send_alert_message -ssl_send_fatal_handshake_failure mbedtls_ssl_send_fatal_handshake_failure -ssl_send_flight_completed mbedtls_ssl_send_flight_completed -ssl_session mbedtls_ssl_session -ssl_session_free mbedtls_ssl_session_free -ssl_session_init mbedtls_ssl_session_init -ssl_session_reset mbedtls_ssl_session_reset -ssl_set_alpn_protocols mbedtls_ssl_conf_alpn_protocols -ssl_set_arc4_support mbedtls_ssl_conf_arc4_support -ssl_set_authmode mbedtls_ssl_conf_authmode -ssl_set_bio mbedtls_ssl_set_bio -ssl_set_ca_chain mbedtls_ssl_conf_ca_chain -ssl_set_cbc_record_splitting mbedtls_ssl_conf_cbc_record_splitting -ssl_set_ciphersuites mbedtls_ssl_conf_ciphersuites -ssl_set_ciphersuites_for_version mbedtls_ssl_conf_ciphersuites_for_version -ssl_set_client_transport_id mbedtls_ssl_set_client_transport_id -ssl_set_curves mbedtls_ssl_conf_curves -ssl_set_dbg mbedtls_ssl_conf_dbg -ssl_set_dh_param mbedtls_ssl_conf_dh_param -ssl_set_dh_param_ctx mbedtls_ssl_conf_dh_param_ctx -ssl_set_dtls_anti_replay mbedtls_ssl_conf_dtls_anti_replay -ssl_set_dtls_badmac_limit mbedtls_ssl_conf_dtls_badmac_limit -ssl_set_dtls_cookies mbedtls_ssl_conf_dtls_cookies -ssl_set_encrypt_then_mac mbedtls_ssl_conf_encrypt_then_mac -ssl_set_endpoint mbedtls_ssl_conf_endpoint -ssl_set_extended_master_secret mbedtls_ssl_conf_extended_master_secret -ssl_set_fallback mbedtls_ssl_conf_fallback -ssl_set_handshake_timeout mbedtls_ssl_conf_handshake_timeout -ssl_set_hostname mbedtls_ssl_set_hostname -ssl_set_max_frag_len mbedtls_ssl_conf_max_frag_len -ssl_set_max_version mbedtls_ssl_conf_max_version -ssl_set_min_version mbedtls_ssl_conf_min_version -ssl_set_own_cert mbedtls_ssl_conf_own_cert -ssl_set_own_cert_alt mbedtls_ssl_set_own_cert_alt -ssl_set_own_cert_rsa mbedtls_ssl_set_own_cert_rsa -ssl_set_psk mbedtls_ssl_conf_psk -ssl_set_psk_cb mbedtls_ssl_conf_psk_cb -ssl_set_renegotiation mbedtls_ssl_conf_renegotiation -ssl_set_renegotiation_enforced mbedtls_ssl_conf_renegotiation_enforced -ssl_set_renegotiation_period mbedtls_ssl_conf_renegotiation_period -ssl_set_rng mbedtls_ssl_conf_rng -ssl_set_session mbedtls_ssl_set_session -ssl_set_session_cache mbedtls_ssl_conf_session_cache -ssl_set_session_ticket_lifetime mbedtls_ssl_conf_session_ticket_lifetime -ssl_set_session_tickets mbedtls_ssl_conf_session_tickets -ssl_set_sni mbedtls_ssl_conf_sni -ssl_set_transport mbedtls_ssl_conf_transport -ssl_set_truncated_hmac mbedtls_ssl_conf_truncated_hmac -ssl_set_verify mbedtls_ssl_conf_verify -ssl_sig_from_pk mbedtls_ssl_sig_from_pk -ssl_states mbedtls_ssl_states -ssl_ticket_keys mbedtls_ssl_ticket_keys -ssl_transform mbedtls_ssl_transform -ssl_transform_free mbedtls_ssl_transform_free -ssl_write mbedtls_ssl_write -ssl_write_certificate mbedtls_ssl_write_certificate -ssl_write_change_cipher_spec mbedtls_ssl_write_change_cipher_spec -ssl_write_finished mbedtls_ssl_write_finished -ssl_write_record mbedtls_ssl_write_record -ssl_write_version mbedtls_ssl_write_version -supported_ciphers mbedtls_cipher_supported -t_sint mbedtls_mpi_sint -t_udbl mbedtls_t_udbl -t_uint mbedtls_mpi_uint -test_ca_crt mbedtls_test_ca_crt -test_ca_crt_ec mbedtls_test_ca_crt_ec -test_ca_crt_rsa mbedtls_test_ca_crt_rsa -test_ca_key mbedtls_test_ca_key -test_ca_key_ec mbedtls_test_ca_key_ec -test_ca_key_rsa mbedtls_test_ca_key_rsa -test_ca_list mbedtls_test_cas_pem -test_ca_pwd mbedtls_test_ca_pwd -test_ca_pwd_ec mbedtls_test_ca_pwd_ec -test_ca_pwd_rsa mbedtls_test_ca_pwd_rsa -test_cli_crt mbedtls_test_cli_crt -test_cli_crt_ec mbedtls_test_cli_crt_ec -test_cli_crt_rsa mbedtls_test_cli_crt_rsa -test_cli_key mbedtls_test_cli_key -test_cli_key_ec mbedtls_test_cli_key_ec -test_cli_key_rsa mbedtls_test_cli_key_rsa -test_dhm_params mbedtls_test_dhm_params -test_srv_crt mbedtls_test_srv_crt -test_srv_crt_ec mbedtls_test_srv_crt_ec -test_srv_crt_rsa mbedtls_test_srv_crt_rsa -test_srv_key mbedtls_test_srv_key -test_srv_key_ec mbedtls_test_srv_key_ec -test_srv_key_rsa mbedtls_test_srv_key_rsa -threading_mutex_t mbedtls_threading_mutex_t -threading_set_alt mbedtls_threading_set_alt -timing_self_test mbedtls_timing_self_test -version_check_feature mbedtls_version_check_feature -version_get_number mbedtls_version_get_number -version_get_string mbedtls_version_get_string -version_get_string_full mbedtls_version_get_string_full -x509_bitstring mbedtls_x509_bitstring -x509_buf mbedtls_x509_buf -x509_crl mbedtls_x509_crl -x509_crl_entry mbedtls_x509_crl_entry -x509_crl_free mbedtls_x509_crl_free -x509_crl_info mbedtls_x509_crl_info -x509_crl_init mbedtls_x509_crl_init -x509_crl_parse mbedtls_x509_crl_parse -x509_crl_parse_der mbedtls_x509_crl_parse_der -x509_crl_parse_file mbedtls_x509_crl_parse_file -x509_crt mbedtls_x509_crt -x509_crt_check_extended_key_usage mbedtls_x509_crt_check_extended_key_usage -x509_crt_check_key_usage mbedtls_x509_crt_check_key_usage -x509_crt_free mbedtls_x509_crt_free -x509_crt_info mbedtls_x509_crt_info -x509_crt_init mbedtls_x509_crt_init -x509_crt_parse mbedtls_x509_crt_parse -x509_crt_parse_der mbedtls_x509_crt_parse_der -x509_crt_parse_file mbedtls_x509_crt_parse_file -x509_crt_parse_path mbedtls_x509_crt_parse_path -x509_crt_revoked mbedtls_x509_crt_is_revoked -x509_crt_verify mbedtls_x509_crt_verify -x509_crt_verify_info mbedtls_x509_crt_verify_info -x509_csr mbedtls_x509_csr -x509_csr_free mbedtls_x509_csr_free -x509_csr_info mbedtls_x509_csr_info -x509_csr_init mbedtls_x509_csr_init -x509_csr_parse mbedtls_x509_csr_parse -x509_csr_parse_der mbedtls_x509_csr_parse_der -x509_csr_parse_file mbedtls_x509_csr_parse_file -x509_dn_gets mbedtls_x509_dn_gets -x509_get_alg mbedtls_x509_get_alg -x509_get_alg_null mbedtls_x509_get_alg_null -x509_get_ext mbedtls_x509_get_ext -x509_get_name mbedtls_x509_get_name -x509_get_rsassa_pss_params mbedtls_x509_get_rsassa_pss_params -x509_get_serial mbedtls_x509_get_serial -x509_get_sig mbedtls_x509_get_sig -x509_get_sig_alg mbedtls_x509_get_sig_alg -x509_get_time mbedtls_x509_get_time -x509_key_size_helper mbedtls_x509_key_size_helper -x509_name mbedtls_x509_name -x509_oid_get_description mbedtls_x509_oid_get_description -x509_oid_get_numeric_string mbedtls_x509_oid_get_numeric_string -x509_self_test mbedtls_x509_self_test -x509_sequence mbedtls_x509_sequence -x509_serial_gets mbedtls_x509_serial_gets -x509_set_extension mbedtls_x509_set_extension -x509_sig_alg_gets mbedtls_x509_sig_alg_gets -x509_string_to_names mbedtls_x509_string_to_names -x509_time mbedtls_x509_time -x509_time_expired mbedtls_x509_time_is_past -x509_time_future mbedtls_x509_time_is_future -x509_write_extensions mbedtls_x509_write_extensions -x509_write_names mbedtls_x509_write_names -x509_write_sig mbedtls_x509_write_sig -x509write_cert mbedtls_x509write_cert -x509write_crt_der mbedtls_x509write_crt_der -x509write_crt_free mbedtls_x509write_crt_free -x509write_crt_init mbedtls_x509write_crt_init -x509write_crt_pem mbedtls_x509write_crt_pem -x509write_crt_set_authority_key_identifier mbedtls_x509write_crt_set_authority_key_identifier -x509write_crt_set_basic_constraints mbedtls_x509write_crt_set_basic_constraints -x509write_crt_set_extension mbedtls_x509write_crt_set_extension -x509write_crt_set_issuer_key mbedtls_x509write_crt_set_issuer_key -x509write_crt_set_issuer_name mbedtls_x509write_crt_set_issuer_name -x509write_crt_set_key_usage mbedtls_x509write_crt_set_key_usage -x509write_crt_set_md_alg mbedtls_x509write_crt_set_md_alg -x509write_crt_set_ns_cert_type mbedtls_x509write_crt_set_ns_cert_type -x509write_crt_set_serial mbedtls_x509write_crt_set_serial -x509write_crt_set_subject_key mbedtls_x509write_crt_set_subject_key -x509write_crt_set_subject_key_identifier mbedtls_x509write_crt_set_subject_key_identifier -x509write_crt_set_subject_name mbedtls_x509write_crt_set_subject_name -x509write_crt_set_validity mbedtls_x509write_crt_set_validity -x509write_crt_set_version mbedtls_x509write_crt_set_version -x509write_csr mbedtls_x509write_csr -x509write_csr_der mbedtls_x509write_csr_der -x509write_csr_free mbedtls_x509write_csr_free -x509write_csr_init mbedtls_x509write_csr_init -x509write_csr_pem mbedtls_x509write_csr_pem -x509write_csr_set_extension mbedtls_x509write_csr_set_extension -x509write_csr_set_key mbedtls_x509write_csr_set_key -x509write_csr_set_key_usage mbedtls_x509write_csr_set_key_usage -x509write_csr_set_md_alg mbedtls_x509write_csr_set_md_alg -x509write_csr_set_ns_cert_type mbedtls_x509write_csr_set_ns_cert_type -x509write_csr_set_subject_name mbedtls_x509write_csr_set_subject_name -xtea_context mbedtls_xtea_context -xtea_crypt_cbc mbedtls_xtea_crypt_cbc -xtea_crypt_ecb mbedtls_xtea_crypt_ecb -xtea_free mbedtls_xtea_free -xtea_init mbedtls_xtea_init -xtea_self_test mbedtls_xtea_self_test -xtea_setup mbedtls_xtea_setup diff --git a/lib/mbedtls-2.27.0/scripts/data_files/version_features.fmt b/lib/mbedtls-2.27.0/scripts/data_files/version_features.fmt deleted file mode 100644 index d4bf774..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/version_features.fmt +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Version feature information - * - * Copyright The Mbed TLS Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed 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 "common.h" - -#if defined(MBEDTLS_VERSION_C) - -#include "mbedtls/version.h" - -#include <string.h> - -static const char * const features[] = { -#if defined(MBEDTLS_VERSION_FEATURES) -FEATURE_DEFINES -#endif /* MBEDTLS_VERSION_FEATURES */ - NULL -}; - -int mbedtls_version_check_feature( const char *feature ) -{ - const char * const *idx = features; - - if( *idx == NULL ) - return( -2 ); - - if( feature == NULL ) - return( -1 ); - - while( *idx != NULL ) - { - if( !strcmp( *idx, feature ) ) - return( 0 ); - idx++; - } - return( -1 ); -} - -#endif /* MBEDTLS_VERSION_C */ diff --git a/lib/mbedtls-2.27.0/scripts/data_files/vs2010-app-template.vcxproj b/lib/mbedtls-2.27.0/scripts/data_files/vs2010-app-template.vcxproj deleted file mode 100644 index 039fd09..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/vs2010-app-template.vcxproj +++ /dev/null @@ -1,171 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <ItemGroup>
- <SOURCES>
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="mbedTLS.vcxproj">
- <Project>{46cf2d25-6a36-4189-b59c-e4815388e554}</Project>
- <LinkLibraryDependencies>true</LinkLibraryDependencies>
- </ProjectReference>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid><GUID></ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace><APPNAME></RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LinkIncremental>true</LinkIncremental>
- <IntDir>$(Configuration)\$(TargetName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <LinkIncremental>true</LinkIncremental>
- <IntDir>$(Configuration)\$(TargetName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LinkIncremental>false</LinkIncremental>
- <IntDir>$(Configuration)\$(TargetName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <LinkIncremental>false</LinkIncremental>
- <IntDir>$(Configuration)\$(TargetName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>
-INCLUDE_DIRECTORIES
- </AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>Debug</AdditionalLibraryDirectories>
- </Link>
- <ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
- </ProjectReference>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>
-INCLUDE_DIRECTORIES
- </AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>Debug</AdditionalLibraryDirectories>
- </Link>
- <ProjectReference>
- <LinkLibraryDependencies>false</LinkLibraryDependencies>
- </ProjectReference>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>
-INCLUDE_DIRECTORIES
- </AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- <AdditionalLibraryDirectories>Release</AdditionalLibraryDirectories>
- <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>
-INCLUDE_DIRECTORIES
- </AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- <AdditionalLibraryDirectories>Release</AdditionalLibraryDirectories>
- <AdditionalDependencies>%(AdditionalDependencies);</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
diff --git a/lib/mbedtls-2.27.0/scripts/data_files/vs2010-main-template.vcxproj b/lib/mbedtls-2.27.0/scripts/data_files/vs2010-main-template.vcxproj deleted file mode 100644 index c0f3a3c..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/vs2010-main-template.vcxproj +++ /dev/null @@ -1,156 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{46CF2D25-6A36-4189-B59C-E4815388E554}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>mbedTLS</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <LinkIncremental>true</LinkIncremental>
- <IntDir>$(Configuration)\$(TargetName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <LinkIncremental>true</LinkIncremental>
- <IntDir>$(Configuration)\$(TargetName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <LinkIncremental>false</LinkIncremental>
- <IntDir>$(Configuration)\$(TargetName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <LinkIncremental>false</LinkIncremental>
- <IntDir>$(Configuration)\$(TargetName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>_USRDLL;MBEDTLS_EXPORTS;KRML_VERIFIED_UINT128;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>
-INCLUDE_DIRECTORIES
- </AdditionalIncludeDirectories>
- <CompileAs>CompileAsC</CompileAs>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>_USRDLL;MBEDTLS_EXPORTS;KRML_VERIFIED_UINT128;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>
-INCLUDE_DIRECTORIES
- </AdditionalIncludeDirectories>
- <CompileAs>CompileAsC</CompileAs>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>NDEBUG;_USRDLL;MBEDTLS_EXPORTS;KRML_VERIFIED_UINT128;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>
-INCLUDE_DIRECTORIES
- </AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN64;NDEBUG;_WINDOWS;_USRDLL;MBEDTLS_EXPORTS;KRML_VERIFIED_UINT128;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AdditionalIncludeDirectories>
-INCLUDE_DIRECTORIES
- </AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
-HEADER_ENTRIES
- </ItemGroup>
- <ItemGroup>
-SOURCE_ENTRIES
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
diff --git a/lib/mbedtls-2.27.0/scripts/data_files/vs2010-sln-template.sln b/lib/mbedtls-2.27.0/scripts/data_files/vs2010-sln-template.sln deleted file mode 100644 index fc65a0b..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/vs2010-sln-template.sln +++ /dev/null @@ -1,28 +0,0 @@ -
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual C++ Express 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbedTLS", "mbedTLS.vcxproj", "{46CF2D25-6A36-4189-B59C-E4815388E554}"
-EndProject
-APP_ENTRIES
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {46CF2D25-6A36-4189-B59C-E4815388E554}.Debug|Win32.ActiveCfg = Debug|Win32
- {46CF2D25-6A36-4189-B59C-E4815388E554}.Debug|Win32.Build.0 = Debug|Win32
- {46CF2D25-6A36-4189-B59C-E4815388E554}.Debug|x64.ActiveCfg = Debug|x64
- {46CF2D25-6A36-4189-B59C-E4815388E554}.Debug|x64.Build.0 = Debug|x64
- {46CF2D25-6A36-4189-B59C-E4815388E554}.Release|Win32.ActiveCfg = Release|Win32
- {46CF2D25-6A36-4189-B59C-E4815388E554}.Release|Win32.Build.0 = Release|Win32
- {46CF2D25-6A36-4189-B59C-E4815388E554}.Release|x64.ActiveCfg = Release|x64
- {46CF2D25-6A36-4189-B59C-E4815388E554}.Release|x64.Build.0 = Release|x64
-CONF_ENTRIES
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/lib/mbedtls-2.27.0/scripts/data_files/vs6-app-template.dsp b/lib/mbedtls-2.27.0/scripts/data_files/vs6-app-template.dsp deleted file mode 100644 index 87dbea2..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/vs6-app-template.dsp +++ /dev/null @@ -1,101 +0,0 @@ -# Microsoft Developer Studio Project File - Name="<APPNAME>" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=<APPNAME> - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "<APPNAME>.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "<APPNAME>.mak" CFG="<APPNAME> - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "<APPNAME> - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "<APPNAME> - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "<APPNAME> - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir "temp"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "temp"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF "$(CFG)" == "<APPNAME> - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir "temp"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "temp"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x40c /d "_DEBUG"
-# ADD RSC /l 0x40c /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF
-
-# Begin Target
-
-# Name "<APPNAME> - Win32 Release"
-# Name "<APPNAME> - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\programs\<PATHNAME>.c
-# ADD CPP /I "../../include"
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/lib/mbedtls-2.27.0/scripts/data_files/vs6-main-template.dsp b/lib/mbedtls-2.27.0/scripts/data_files/vs6-main-template.dsp deleted file mode 100644 index 89d3fc7..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/vs6-main-template.dsp +++ /dev/null @@ -1,94 +0,0 @@ -# Microsoft Developer Studio Project File - Name="mbedtls" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=mbedtls - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "mbedtls.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "mbedtls.mak" CFG="mbedtls - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "mbedtls - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "mbedtls - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "mbedtls - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir "temp"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "temp"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "../../include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x40c /d "NDEBUG"
-# ADD RSC /l 0x40c /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF "$(CFG)" == "mbedtls - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir "temp"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir "temp"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /GX /Z7 /Od /I "../../include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x40c /d "_DEBUG"
-# ADD RSC /l 0x40c /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF
-
-# Begin Target
-
-# Name "mbedtls - Win32 Release"
-# Name "mbedtls - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-SOURCE_ENTRIES
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-HEADER_ENTRIES
-# End Group
-# End Target
-# End Project
diff --git a/lib/mbedtls-2.27.0/scripts/data_files/vs6-workspace-template.dsw b/lib/mbedtls-2.27.0/scripts/data_files/vs6-workspace-template.dsw deleted file mode 100644 index ef90098..0000000 --- a/lib/mbedtls-2.27.0/scripts/data_files/vs6-workspace-template.dsw +++ /dev/null @@ -1,18 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-APP_ENTRIES
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/mbedtls-2.27.0/scripts/ecc-heap.sh b/lib/mbedtls-2.27.0/scripts/ecc-heap.sh deleted file mode 100755 index 8d1beee..0000000 --- a/lib/mbedtls-2.27.0/scripts/ecc-heap.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh - -# Measure heap usage (and performance) of ECC operations with various values of -# the relevant tunable compile-time parameters. -# -# Usage (preferably on a 32-bit platform): -# cmake -D CMAKE_BUILD_TYPE=Release . -# scripts/ecc-heap.sh | tee ecc-heap.log -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -set -eu - -CONFIG_H='include/mbedtls/config.h' - -if [ -r $CONFIG_H ]; then :; else - echo "$CONFIG_H not found" >&2 - exit 1 -fi - -if grep -i cmake Makefile >/dev/null; then :; else - echo "Needs Cmake" >&2 - exit 1 -fi - -if git status | grep -F $CONFIG_H >/dev/null 2>&1; then - echo "config.h not clean" >&2 - exit 1 -fi - -CONFIG_BAK=${CONFIG_H}.bak -cp $CONFIG_H $CONFIG_BAK - -cat << EOF >$CONFIG_H -#define MBEDTLS_PLATFORM_C -#define MBEDTLS_PLATFORM_MEMORY -#define MBEDTLS_MEMORY_BUFFER_ALLOC_C -#define MBEDTLS_MEMORY_DEBUG - -#define MBEDTLS_TIMING_C - -#define MBEDTLS_BIGNUM_C -#define MBEDTLS_ECP_C -#define MBEDTLS_ASN1_PARSE_C -#define MBEDTLS_ASN1_WRITE_C -#define MBEDTLS_ECDSA_C -#define MBEDTLS_ECDH_C - -#define MBEDTLS_ECP_DP_SECP192R1_ENABLED -#define MBEDTLS_ECP_DP_SECP224R1_ENABLED -#define MBEDTLS_ECP_DP_SECP256R1_ENABLED -#define MBEDTLS_ECP_DP_SECP384R1_ENABLED -#define MBEDTLS_ECP_DP_SECP521R1_ENABLED -#define MBEDTLS_ECP_DP_CURVE25519_ENABLED - -#include "check_config.h" - -//#define MBEDTLS_ECP_WINDOW_SIZE 6 -//#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1 -EOF - -for F in 0 1; do - for W in 2 3 4 5 6; do - scripts/config.py set MBEDTLS_ECP_WINDOW_SIZE $W - scripts/config.py set MBEDTLS_ECP_FIXED_POINT_OPTIM $F - make benchmark >/dev/null 2>&1 - echo "fixed point optim = $F, max window size = $W" - echo "--------------------------------------------" - programs/test/benchmark - done -done - -# cleanup - -mv $CONFIG_BAK $CONFIG_H -make clean diff --git a/lib/mbedtls-2.27.0/scripts/find-mem-leak.cocci b/lib/mbedtls-2.27.0/scripts/find-mem-leak.cocci deleted file mode 100644 index 8179e2b..0000000 --- a/lib/mbedtls-2.27.0/scripts/find-mem-leak.cocci +++ /dev/null @@ -1,20 +0,0 @@ -@@ -expression x, y; -statement S; -@@ - x = mbedtls_calloc(...); - y = mbedtls_calloc(...); - ... -* if (x == NULL || y == NULL) - S - -@@ -expression x, y; -statement S; -@@ - if ( -* (x = mbedtls_calloc(...)) == NULL - || -* (y = mbedtls_calloc(...)) == NULL - ) - S diff --git a/lib/mbedtls-2.27.0/scripts/footprint.sh b/lib/mbedtls-2.27.0/scripts/footprint.sh deleted file mode 100755 index 4d7be7a..0000000 --- a/lib/mbedtls-2.27.0/scripts/footprint.sh +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/sh -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. -# -# Purpose -# -# This script determines ROM size (or code size) for the standard mbed TLS -# configurations, when built for a Cortex M3/M4 target. -# -# Configurations included: -# default include/mbedtls/config.h -# thread configs/config-thread.h -# suite-b configs/config-suite-b.h -# psk configs/config-ccm-psk-tls1_2.h -# -# Usage: footprint.sh -# -set -eu - -CONFIG_H='include/mbedtls/config.h' - -if [ -r $CONFIG_H ]; then :; else - echo "$CONFIG_H not found" >&2 - echo "This script needs to be run from the root of" >&2 - echo "a git checkout or uncompressed tarball" >&2 - exit 1 -fi - -if grep -i cmake Makefile >/dev/null; then - echo "Not compatible with CMake" >&2 - exit 1 -fi - -if which arm-none-eabi-gcc >/dev/null 2>&1; then :; else - echo "You need the ARM-GCC toolchain in your path" >&2 - echo "See https://launchpad.net/gcc-arm-embedded/" >&2 - exit 1 -fi - -ARMGCC_FLAGS='-Os -march=armv7-m -mthumb' -OUTFILE='00-footprint-summary.txt' - -log() -{ - echo "$@" - echo "$@" >> "$OUTFILE" -} - -doit() -{ - NAME="$1" - FILE="$2" - - log "" - log "$NAME ($FILE):" - - cp $CONFIG_H ${CONFIG_H}.bak - if [ "$FILE" != $CONFIG_H ]; then - cp "$FILE" $CONFIG_H - fi - - { - scripts/config.py unset MBEDTLS_NET_C || true - scripts/config.py unset MBEDTLS_TIMING_C || true - scripts/config.py unset MBEDTLS_FS_IO || true - scripts/config.py --force set MBEDTLS_NO_PLATFORM_ENTROPY || true - } >/dev/null 2>&1 - - make clean >/dev/null - CC=arm-none-eabi-gcc AR=arm-none-eabi-ar LD=arm-none-eabi-ld \ - CFLAGS="$ARMGCC_FLAGS" make lib >/dev/null - - OUT="size-${NAME}.txt" - arm-none-eabi-size -t library/libmbed*.a > "$OUT" - log "$( head -n1 "$OUT" )" - log "$( tail -n1 "$OUT" )" - - cp ${CONFIG_H}.bak $CONFIG_H -} - -# truncate the file just this time -echo "(generated by $0)" > "$OUTFILE" -echo "" >> "$OUTFILE" - -log "Footprint of standard configurations (minus net_sockets.c, timing.c, fs_io)" -log "for bare-metal ARM Cortex-M3/M4 microcontrollers." - -VERSION_H="include/mbedtls/version.h" -MBEDTLS_VERSION=$( sed -n 's/.*VERSION_STRING *"\(.*\)"/\1/p' $VERSION_H ) -if git rev-parse HEAD >/dev/null; then - GIT_HEAD=$( git rev-parse HEAD | head -c 10 ) - GIT_VERSION=" (git head: $GIT_HEAD)" -else - GIT_VERSION="" -fi - -log "" -log "mbed TLS $MBEDTLS_VERSION$GIT_VERSION" -log "$( arm-none-eabi-gcc --version | head -n1 )" -log "CFLAGS=$ARMGCC_FLAGS" - -doit default include/mbedtls/config.h -doit thread configs/config-thread.h -doit suite-b configs/config-suite-b.h -doit psk configs/config-ccm-psk-tls1_2.h - -zip mbedtls-footprint.zip "$OUTFILE" size-*.txt >/dev/null diff --git a/lib/mbedtls-2.27.0/scripts/generate_errors.pl b/lib/mbedtls-2.27.0/scripts/generate_errors.pl deleted file mode 100755 index ed17a0d..0000000 --- a/lib/mbedtls-2.27.0/scripts/generate_errors.pl +++ /dev/null @@ -1,228 +0,0 @@ -#!/usr/bin/env perl - -# Generate error.c -# -# Usage: ./generate_errors.pl or scripts/generate_errors.pl without arguments, -# or generate_errors.pl include_dir data_dir error_file -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -use strict; - -my ($include_dir, $data_dir, $error_file); - -if( @ARGV ) { - die "Invalid number of arguments" if scalar @ARGV != 3; - ($include_dir, $data_dir, $error_file) = @ARGV; - - -d $include_dir or die "No such directory: $include_dir\n"; - -d $data_dir or die "No such directory: $data_dir\n"; -} else { - $include_dir = 'include/mbedtls'; - $data_dir = 'scripts/data_files'; - $error_file = 'library/error.c'; - - unless( -d $include_dir && -d $data_dir ) { - chdir '..' or die; - -d $include_dir && -d $data_dir - or die "Without arguments, must be run from root or scripts\n" - } -} - -my $error_format_file = $data_dir.'/error.fmt'; - -my @low_level_modules = qw( AES ARC4 ARIA ASN1 BASE64 BIGNUM BLOWFISH - CAMELLIA CCM CHACHA20 CHACHAPOLY CMAC CTR_DRBG DES - ENTROPY ERROR GCM HKDF HMAC_DRBG MD2 MD4 MD5 - NET OID PADLOCK PBKDF2 PLATFORM POLY1305 RIPEMD160 - SHA1 SHA256 SHA512 THREADING XTEA ); -my @high_level_modules = qw( CIPHER DHM ECP MD - PEM PK PKCS12 PKCS5 - RSA SSL X509 ); - -my $line_separator = $/; -undef $/; - -open(FORMAT_FILE, "$error_format_file") or die "Opening error format file '$error_format_file': $!"; -my $error_format = <FORMAT_FILE>; -close(FORMAT_FILE); - -$/ = $line_separator; - -my @files = <$include_dir/*.h>; -my @necessary_include_files; -my @matches; -foreach my $file (@files) { - open(FILE, "$file"); - my @grep_res = grep(/^\s*#define\s+MBEDTLS_ERR_\w+\s+\-0x[0-9A-Fa-f]+/, <FILE>); - push(@matches, @grep_res); - close FILE; - my $include_name = $file; - $include_name =~ s!.*/!!; - push @necessary_include_files, $include_name if @grep_res; -} - -my $ll_old_define = ""; -my $hl_old_define = ""; - -my $ll_code_check = ""; -my $hl_code_check = ""; - -my $headers = ""; -my %included_headers; - -my %error_codes_seen; - -foreach my $line (@matches) -{ - next if ($line =~ /compat-1.2.h/); - my ($error_name, $error_code) = $line =~ /(MBEDTLS_ERR_\w+)\s+\-(0x\w+)/; - my ($description) = $line =~ /\/\*\*< (.*?)\.? \*\//; - - die "Duplicated error code: $error_code ($error_name)\n" - if( $error_codes_seen{$error_code}++ ); - - $description =~ s/\\/\\\\/g; - if ($description eq "") { - $description = "DESCRIPTION MISSING"; - warn "Missing description for $error_name\n"; - } - - my ($module_name) = $error_name =~ /^MBEDTLS_ERR_([^_]+)/; - - # Fix faulty ones - $module_name = "BIGNUM" if ($module_name eq "MPI"); - $module_name = "CTR_DRBG" if ($module_name eq "CTR"); - $module_name = "HMAC_DRBG" if ($module_name eq "HMAC"); - - my $define_name = $module_name; - $define_name = "X509_USE,X509_CREATE" if ($define_name eq "X509"); - $define_name = "ASN1_PARSE" if ($define_name eq "ASN1"); - $define_name = "SSL_TLS" if ($define_name eq "SSL"); - $define_name = "PEM_PARSE,PEM_WRITE" if ($define_name eq "PEM"); - - my $include_name = $module_name; - $include_name =~ tr/A-Z/a-z/; - - # Fix faulty ones - $include_name = "net_sockets" if ($module_name eq "NET"); - - $included_headers{"${include_name}.h"} = $module_name; - - my $found_ll = grep $_ eq $module_name, @low_level_modules; - my $found_hl = grep $_ eq $module_name, @high_level_modules; - if (!$found_ll && !$found_hl) - { - printf("Error: Do not know how to handle: $module_name\n"); - exit 1; - } - - my $code_check; - my $old_define; - my $white_space; - my $first; - - if ($found_ll) - { - $code_check = \$ll_code_check; - $old_define = \$ll_old_define; - $white_space = ' '; - } - else - { - $code_check = \$hl_code_check; - $old_define = \$hl_old_define; - $white_space = ' '; - } - - if ($define_name ne ${$old_define}) - { - if (${$old_define} ne "") - { - ${$code_check} .= "#endif /* "; - $first = 0; - foreach my $dep (split(/,/, ${$old_define})) - { - ${$code_check} .= " || " if ($first++); - ${$code_check} .= "MBEDTLS_${dep}_C"; - } - ${$code_check} .= " */\n\n"; - } - - ${$code_check} .= "#if "; - $headers .= "#if " if ($include_name ne ""); - $first = 0; - foreach my $dep (split(/,/, ${define_name})) - { - ${$code_check} .= " || " if ($first); - $headers .= " || " if ($first++); - - ${$code_check} .= "defined(MBEDTLS_${dep}_C)"; - $headers .= "defined(MBEDTLS_${dep}_C)" if - ($include_name ne ""); - } - ${$code_check} .= "\n"; - $headers .= "\n#include \"mbedtls/${include_name}.h\"\n". - "#endif\n\n" if ($include_name ne ""); - ${$old_define} = $define_name; - } - - ${$code_check} .= "${white_space}case -($error_name):\n". - "${white_space} return( \"$module_name - $description\" );\n" -}; - -if ($ll_old_define ne "") -{ - $ll_code_check .= "#endif /* "; - my $first = 0; - foreach my $dep (split(/,/, $ll_old_define)) - { - $ll_code_check .= " || " if ($first++); - $ll_code_check .= "MBEDTLS_${dep}_C"; - } - $ll_code_check .= " */\n"; -} -if ($hl_old_define ne "") -{ - $hl_code_check .= "#endif /* "; - my $first = 0; - foreach my $dep (split(/,/, $hl_old_define)) - { - $hl_code_check .= " || " if ($first++); - $hl_code_check .= "MBEDTLS_${dep}_C"; - } - $hl_code_check .= " */\n"; -} - -$error_format =~ s/HEADER_INCLUDED\n/$headers/g; -$error_format =~ s/LOW_LEVEL_CODE_CHECKS\n/$ll_code_check/g; -$error_format =~ s/HIGH_LEVEL_CODE_CHECKS\n/$hl_code_check/g; - -open(ERROR_FILE, ">$error_file") or die "Opening destination file '$error_file': $!"; -print ERROR_FILE $error_format; -close(ERROR_FILE); - -my $errors = 0; -for my $include_name (@necessary_include_files) -{ - if (not $included_headers{$include_name}) - { - print STDERR "The header file \"$include_name\" defines error codes but has not been included!\n"; - ++$errors; - } -} - -exit !!$errors; diff --git a/lib/mbedtls-2.27.0/scripts/generate_features.pl b/lib/mbedtls-2.27.0/scripts/generate_features.pl deleted file mode 100755 index 74a9527..0000000 --- a/lib/mbedtls-2.27.0/scripts/generate_features.pl +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env perl -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -use strict; - -my ($include_dir, $data_dir, $feature_file); - -if( @ARGV ) { - die "Invalid number of arguments" if scalar @ARGV != 3; - ($include_dir, $data_dir, $feature_file) = @ARGV; - - -d $include_dir or die "No such directory: $include_dir\n"; - -d $data_dir or die "No such directory: $data_dir\n"; -} else { - $include_dir = 'include/mbedtls'; - $data_dir = 'scripts/data_files'; - $feature_file = 'library/version_features.c'; - - unless( -d $include_dir && -d $data_dir ) { - chdir '..' or die; - -d $include_dir && -d $data_dir - or die "Without arguments, must be run from root or scripts\n" - } -} - -my $feature_format_file = $data_dir.'/version_features.fmt'; - -my @sections = ( "System support", "mbed TLS modules", - "mbed TLS feature support" ); - -my $line_separator = $/; -undef $/; - -open(FORMAT_FILE, "$feature_format_file") or die "Opening feature format file '$feature_format_file': $!"; -my $feature_format = <FORMAT_FILE>; -close(FORMAT_FILE); - -$/ = $line_separator; - -open(CONFIG_H, "$include_dir/config.h") || die("Failure when opening config.h: $!"); - -my $feature_defines = ""; -my $in_section = 0; - -while (my $line = <CONFIG_H>) -{ - next if ($in_section && $line !~ /#define/ && $line !~ /SECTION/); - next if (!$in_section && $line !~ /SECTION/); - - if ($in_section) { - if ($line =~ /SECTION/) { - $in_section = 0; - next; - } - - my ($define) = $line =~ /#define (\w+)/; - $feature_defines .= "#if defined(${define})\n"; - $feature_defines .= " \"${define}\",\n"; - $feature_defines .= "#endif /* ${define} */\n"; - } - - if (!$in_section) { - my ($section_name) = $line =~ /SECTION: ([\w ]+)/; - my $found_section = grep $_ eq $section_name, @sections; - - $in_section = 1 if ($found_section); - } -}; - -$feature_format =~ s/FEATURE_DEFINES\n/$feature_defines/g; - -open(ERROR_FILE, ">$feature_file") or die "Opening destination file '$feature_file': $!"; -print ERROR_FILE $feature_format; -close(ERROR_FILE); diff --git a/lib/mbedtls-2.27.0/scripts/generate_psa_constants.py b/lib/mbedtls-2.27.0/scripts/generate_psa_constants.py deleted file mode 100755 index 71afd02..0000000 --- a/lib/mbedtls-2.27.0/scripts/generate_psa_constants.py +++ /dev/null @@ -1,344 +0,0 @@ -#!/usr/bin/env python3 - -"""Generate psa_constant_names_generated.c -which is included by programs/psa/psa_constant_names.c. -The code generated by this module is only meant to be used in the context -of that program. - -An argument passed to this script will modify the output directory where the -file is written: -* by default (no arguments passed): writes to programs/psa/ -* OUTPUT_FILE_DIR passed: writes to OUTPUT_FILE_DIR/ -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import os -import sys - -from mbedtls_dev import macro_collector - -OUTPUT_TEMPLATE = '''\ -/* Automatically generated by generate_psa_constant.py. DO NOT EDIT. */ - -static const char *psa_strerror(psa_status_t status) -{ - switch (status) { - %(status_cases)s - default: return NULL; - } -} - -static const char *psa_ecc_family_name(psa_ecc_family_t curve) -{ - switch (curve) { - %(ecc_curve_cases)s - default: return NULL; - } -} - -static const char *psa_dh_family_name(psa_dh_family_t group) -{ - switch (group) { - %(dh_group_cases)s - default: return NULL; - } -} - -static const char *psa_hash_algorithm_name(psa_algorithm_t hash_alg) -{ - switch (hash_alg) { - %(hash_algorithm_cases)s - default: return NULL; - } -} - -static const char *psa_ka_algorithm_name(psa_algorithm_t ka_alg) -{ - switch (ka_alg) { - %(ka_algorithm_cases)s - default: return NULL; - } -} - -static int psa_snprint_key_type(char *buffer, size_t buffer_size, - psa_key_type_t type) -{ - size_t required_size = 0; - switch (type) { - %(key_type_cases)s - default: - %(key_type_code)s{ - return snprintf(buffer, buffer_size, - "0x%%04x", (unsigned) type); - } - break; - } - buffer[0] = 0; - return (int) required_size; -} - -#define NO_LENGTH_MODIFIER 0xfffffffflu -static int psa_snprint_algorithm(char *buffer, size_t buffer_size, - psa_algorithm_t alg) -{ - size_t required_size = 0; - psa_algorithm_t core_alg = alg; - unsigned long length_modifier = NO_LENGTH_MODIFIER; - if (PSA_ALG_IS_MAC(alg)) { - core_alg = PSA_ALG_TRUNCATED_MAC(alg, 0); - if (alg & PSA_ALG_MAC_AT_LEAST_THIS_LENGTH_FLAG) { - append(&buffer, buffer_size, &required_size, - "PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(", 33); - length_modifier = PSA_MAC_TRUNCATED_LENGTH(alg); - } else if (core_alg != alg) { - append(&buffer, buffer_size, &required_size, - "PSA_ALG_TRUNCATED_MAC(", 22); - length_modifier = PSA_MAC_TRUNCATED_LENGTH(alg); - } - } else if (PSA_ALG_IS_AEAD(alg)) { - core_alg = PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG(alg); - if (core_alg == 0) { - /* For unknown AEAD algorithms, there is no "default tag length". */ - core_alg = alg; - } else if (alg & PSA_ALG_AEAD_AT_LEAST_THIS_LENGTH_FLAG) { - append(&buffer, buffer_size, &required_size, - "PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(", 43); - length_modifier = PSA_ALG_AEAD_GET_TAG_LENGTH(alg); - } else if (core_alg != alg) { - append(&buffer, buffer_size, &required_size, - "PSA_ALG_AEAD_WITH_SHORTENED_TAG(", 32); - length_modifier = PSA_ALG_AEAD_GET_TAG_LENGTH(alg); - } - } else if (PSA_ALG_IS_KEY_AGREEMENT(alg) && - !PSA_ALG_IS_RAW_KEY_AGREEMENT(alg)) { - core_alg = PSA_ALG_KEY_AGREEMENT_GET_KDF(alg); - append(&buffer, buffer_size, &required_size, - "PSA_ALG_KEY_AGREEMENT(", 22); - append_with_alg(&buffer, buffer_size, &required_size, - psa_ka_algorithm_name, - PSA_ALG_KEY_AGREEMENT_GET_BASE(alg)); - append(&buffer, buffer_size, &required_size, ", ", 2); - } - switch (core_alg) { - %(algorithm_cases)s - default: - %(algorithm_code)s{ - append_integer(&buffer, buffer_size, &required_size, - "0x%%08lx", (unsigned long) core_alg); - } - break; - } - if (core_alg != alg) { - if (length_modifier != NO_LENGTH_MODIFIER) { - append(&buffer, buffer_size, &required_size, ", ", 2); - append_integer(&buffer, buffer_size, &required_size, - "%%lu", length_modifier); - } - append(&buffer, buffer_size, &required_size, ")", 1); - } - buffer[0] = 0; - return (int) required_size; -} - -static int psa_snprint_key_usage(char *buffer, size_t buffer_size, - psa_key_usage_t usage) -{ - size_t required_size = 0; - if (usage == 0) { - if (buffer_size > 1) { - buffer[0] = '0'; - buffer[1] = 0; - } else if (buffer_size == 1) { - buffer[0] = 0; - } - return 1; - } -%(key_usage_code)s - if (usage != 0) { - if (required_size != 0) { - append(&buffer, buffer_size, &required_size, " | ", 3); - } - append_integer(&buffer, buffer_size, &required_size, - "0x%%08lx", (unsigned long) usage); - } else { - buffer[0] = 0; - } - return (int) required_size; -} - -/* End of automatically generated file. */ -''' - -KEY_TYPE_FROM_CURVE_TEMPLATE = '''if (%(tester)s(type)) { - append_with_curve(&buffer, buffer_size, &required_size, - "%(builder)s", %(builder_length)s, - PSA_KEY_TYPE_ECC_GET_FAMILY(type)); - } else ''' - -KEY_TYPE_FROM_GROUP_TEMPLATE = '''if (%(tester)s(type)) { - append_with_group(&buffer, buffer_size, &required_size, - "%(builder)s", %(builder_length)s, - PSA_KEY_TYPE_DH_GET_FAMILY(type)); - } else ''' - -ALGORITHM_FROM_HASH_TEMPLATE = '''if (%(tester)s(core_alg)) { - append(&buffer, buffer_size, &required_size, - "%(builder)s(", %(builder_length)s + 1); - append_with_alg(&buffer, buffer_size, &required_size, - psa_hash_algorithm_name, - PSA_ALG_GET_HASH(core_alg)); - append(&buffer, buffer_size, &required_size, ")", 1); - } else ''' - -BIT_TEST_TEMPLATE = '''\ - if (%(var)s & %(flag)s) { - if (required_size != 0) { - append(&buffer, buffer_size, &required_size, " | ", 3); - } - append(&buffer, buffer_size, &required_size, "%(flag)s", %(length)d); - %(var)s ^= %(flag)s; - }\ -''' - -class CaseBuilder(macro_collector.PSAMacroCollector): - """Collect PSA crypto macro definitions and write value recognition functions. - - 1. Call `read_file` on the input header file(s). - 2. Call `write_file` to write ``psa_constant_names_generated.c``. - """ - - def __init__(self): - super().__init__(include_intermediate=True) - - @staticmethod - def _make_return_case(name): - return 'case %(name)s: return "%(name)s";' % {'name': name} - - @staticmethod - def _make_append_case(name): - template = ('case %(name)s: ' - 'append(&buffer, buffer_size, &required_size, "%(name)s", %(length)d); ' - 'break;') - return template % {'name': name, 'length': len(name)} - - @staticmethod - def _make_bit_test(var, flag): - return BIT_TEST_TEMPLATE % {'var': var, - 'flag': flag, - 'length': len(flag)} - - def _make_status_cases(self): - return '\n '.join(map(self._make_return_case, - sorted(self.statuses))) - - def _make_ecc_curve_cases(self): - return '\n '.join(map(self._make_return_case, - sorted(self.ecc_curves))) - - def _make_dh_group_cases(self): - return '\n '.join(map(self._make_return_case, - sorted(self.dh_groups))) - - def _make_key_type_cases(self): - return '\n '.join(map(self._make_append_case, - sorted(self.key_types))) - - @staticmethod - def _make_key_type_from_curve_code(builder, tester): - return KEY_TYPE_FROM_CURVE_TEMPLATE % {'builder': builder, - 'builder_length': len(builder), - 'tester': tester} - - @staticmethod - def _make_key_type_from_group_code(builder, tester): - return KEY_TYPE_FROM_GROUP_TEMPLATE % {'builder': builder, - 'builder_length': len(builder), - 'tester': tester} - - def _make_ecc_key_type_code(self): - d = self.key_types_from_curve - make = self._make_key_type_from_curve_code - return ''.join([make(k, d[k]) for k in sorted(d.keys())]) - - def _make_dh_key_type_code(self): - d = self.key_types_from_group - make = self._make_key_type_from_group_code - return ''.join([make(k, d[k]) for k in sorted(d.keys())]) - - def _make_hash_algorithm_cases(self): - return '\n '.join(map(self._make_return_case, - sorted(self.hash_algorithms))) - - def _make_ka_algorithm_cases(self): - return '\n '.join(map(self._make_return_case, - sorted(self.ka_algorithms))) - - def _make_algorithm_cases(self): - return '\n '.join(map(self._make_append_case, - sorted(self.algorithms))) - - @staticmethod - def _make_algorithm_from_hash_code(builder, tester): - return ALGORITHM_FROM_HASH_TEMPLATE % {'builder': builder, - 'builder_length': len(builder), - 'tester': tester} - - def _make_algorithm_code(self): - d = self.algorithms_from_hash - make = self._make_algorithm_from_hash_code - return ''.join([make(k, d[k]) for k in sorted(d.keys())]) - - def _make_key_usage_code(self): - return '\n'.join([self._make_bit_test('usage', bit) - for bit in sorted(self.key_usage_flags)]) - - def write_file(self, output_file): - """Generate the pretty-printer function code from the gathered - constant definitions. - """ - data = {} - data['status_cases'] = self._make_status_cases() - data['ecc_curve_cases'] = self._make_ecc_curve_cases() - data['dh_group_cases'] = self._make_dh_group_cases() - data['key_type_cases'] = self._make_key_type_cases() - data['key_type_code'] = (self._make_ecc_key_type_code() + - self._make_dh_key_type_code()) - data['hash_algorithm_cases'] = self._make_hash_algorithm_cases() - data['ka_algorithm_cases'] = self._make_ka_algorithm_cases() - data['algorithm_cases'] = self._make_algorithm_cases() - data['algorithm_code'] = self._make_algorithm_code() - data['key_usage_code'] = self._make_key_usage_code() - output_file.write(OUTPUT_TEMPLATE % data) - -def generate_psa_constants(header_file_names, output_file_name): - collector = CaseBuilder() - for header_file_name in header_file_names: - with open(header_file_name, 'rb') as header_file: - collector.read_file(header_file) - temp_file_name = output_file_name + '.tmp' - with open(temp_file_name, 'w') as output_file: - collector.write_file(output_file) - os.replace(temp_file_name, output_file_name) - -if __name__ == '__main__': - if not os.path.isdir('programs') and os.path.isdir('../programs'): - os.chdir('..') - # Allow to change the directory where psa_constant_names_generated.c is written to. - OUTPUT_FILE_DIR = sys.argv[1] if len(sys.argv) == 2 else "programs/psa" - generate_psa_constants(['include/psa/crypto_values.h', - 'include/psa/crypto_extra.h'], - OUTPUT_FILE_DIR + '/psa_constant_names_generated.c') diff --git a/lib/mbedtls-2.27.0/scripts/generate_query_config.pl b/lib/mbedtls-2.27.0/scripts/generate_query_config.pl deleted file mode 100755 index 3cef101..0000000 --- a/lib/mbedtls-2.27.0/scripts/generate_query_config.pl +++ /dev/null @@ -1,90 +0,0 @@ -#! /usr/bin/env perl - -# Generate query_config.c -# -# The file query_config.c contains a C function that can be used to check if -# a configuration macro is defined and to retrieve its expansion in string -# form (if any). This facilitates querying the compile time configuration of -# the library, for example, for testing. -# -# The query_config.c is generated from the current configuration at -# include/mbedtls/config.h. The idea is that the config.h contains ALL the -# compile time configurations available in Mbed TLS (commented or uncommented). -# This script extracts the configuration macros from the config.h and this -# information is used to automatically generate the body of the query_config() -# function by using the template in scripts/data_files/query_config.fmt. -# -# Usage: ./scripts/generate_query_config.pl without arguments -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -use strict; - -my $config_file = "./include/mbedtls/config.h"; - -my $query_config_format_file = "./scripts/data_files/query_config.fmt"; -my $query_config_file = "./programs/test/query_config.c"; - -# Excluded macros from the generated query_config.c. For example, macros that -# have commas or function-like macros cannot be transformed into strings easily -# using the preprocessor, so they should be excluded or the preprocessor will -# throw errors. -my @excluded = qw( -MBEDTLS_SSL_CIPHERSUITES -MBEDTLS_PARAM_FAILED -); -my $excluded_re = join '|', @excluded; - -open(CONFIG_FILE, "$config_file") or die "Opening config file '$config_file': $!"; - -# This variable will contain the string to replace in the CHECK_CONFIG of the -# format file -my $config_check = ""; - -while (my $line = <CONFIG_FILE>) { - if ($line =~ /^(\/\/)?\s*#\s*define\s+(MBEDTLS_\w+).*/) { - my $name = $2; - - # Skip over the macro that prevents multiple inclusion - next if "MBEDTLS_CONFIG_H" eq $name; - - # Skip over the macro if it is in the ecluded list - next if $name =~ /$excluded_re/; - - $config_check .= "#if defined($name)\n"; - $config_check .= " if( strcmp( \"$name\", config ) == 0 )\n"; - $config_check .= " {\n"; - $config_check .= " MACRO_EXPANSION_TO_STR( $name );\n"; - $config_check .= " return( 0 );\n"; - $config_check .= " }\n"; - $config_check .= "#endif /* $name */\n"; - $config_check .= "\n"; - } -} - -# Read the full format file into a string -local $/; -open(FORMAT_FILE, "$query_config_format_file") or die "Opening query config format file '$query_config_format_file': $!"; -my $query_config_format = <FORMAT_FILE>; -close(FORMAT_FILE); - -# Replace the body of the query_config() function with the code we just wrote -$query_config_format =~ s/CHECK_CONFIG/$config_check/g; - -# Rewrite the query_config.c file -open(QUERY_CONFIG_FILE, ">$query_config_file") or die "Opening destination file '$query_config_file': $!"; -print QUERY_CONFIG_FILE $query_config_format; -close(QUERY_CONFIG_FILE); diff --git a/lib/mbedtls-2.27.0/scripts/generate_visualc_files.pl b/lib/mbedtls-2.27.0/scripts/generate_visualc_files.pl deleted file mode 100755 index d11041c..0000000 --- a/lib/mbedtls-2.27.0/scripts/generate_visualc_files.pl +++ /dev/null @@ -1,299 +0,0 @@ -#!/usr/bin/env perl - -# Generate main file, individual apps and solution files for MS Visual Studio -# 2010 -# -# Must be run from mbedTLS root or scripts directory. -# Takes no argument. -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -use warnings; -use strict; -use Digest::MD5 'md5_hex'; - -my $vsx_dir = "visualc/VS2010"; -my $vsx_ext = "vcxproj"; -my $vsx_app_tpl_file = "scripts/data_files/vs2010-app-template.$vsx_ext"; -my $vsx_main_tpl_file = "scripts/data_files/vs2010-main-template.$vsx_ext"; -my $vsx_main_file = "$vsx_dir/mbedTLS.$vsx_ext"; -my $vsx_sln_tpl_file = "scripts/data_files/vs2010-sln-template.sln"; -my $vsx_sln_file = "$vsx_dir/mbedTLS.sln"; - -my $programs_dir = 'programs'; -my $mbedtls_header_dir = 'include/mbedtls'; -my $psa_header_dir = 'include/psa'; -my $source_dir = 'library'; -my $test_source_dir = 'tests/src'; -my $test_header_dir = 'tests/include/test'; -my $test_drivers_header_dir = 'tests/include/test/drivers'; -my $test_drivers_source_dir = 'tests/src/drivers'; - -my @thirdparty_header_dirs = qw( - 3rdparty/everest/include/everest -); -my @thirdparty_source_dirs = qw( - 3rdparty/everest/library - 3rdparty/everest/library/kremlib - 3rdparty/everest/library/legacy -); - -# Directories to add to the include path. -# Order matters in case there are files with the same name in more than -# one directory: the compiler will use the first match. -my @include_directories = qw( - include - 3rdparty/everest/include/ - 3rdparty/everest/include/everest - 3rdparty/everest/include/everest/vs2010 - 3rdparty/everest/include/everest/kremlib - tests/include -); -my $include_directories = join(';', map {"../../$_"} @include_directories); - -# Directories to add to the include path when building the library, but not -# when building tests or applications. -my @library_include_directories = qw( - library -); -my $library_include_directories = - join(';', map {"../../$_"} (@library_include_directories, - @include_directories)); - -my @excluded_files = qw( - 3rdparty/everest/library/Hacl_Curve25519.c -); -my %excluded_files = (); -foreach (@excluded_files) { $excluded_files{$_} = 1 } - -# Need windows line endings! -my $vsx_hdr_tpl = <<EOT; - <ClInclude Include="..\\..\\{NAME}" />\r -EOT -my $vsx_src_tpl = <<EOT; - <ClCompile Include="..\\..\\{NAME}" />\r -EOT - -my $vsx_sln_app_entry_tpl = <<EOT; -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "{APPNAME}", "{APPNAME}.vcxproj", "{GUID}"\r - ProjectSection(ProjectDependencies) = postProject\r - {46CF2D25-6A36-4189-B59C-E4815388E554} = {46CF2D25-6A36-4189-B59C-E4815388E554}\r - EndProjectSection\r -EndProject\r -EOT - -my $vsx_sln_conf_entry_tpl = <<EOT; - {GUID}.Debug|Win32.ActiveCfg = Debug|Win32\r - {GUID}.Debug|Win32.Build.0 = Debug|Win32\r - {GUID}.Debug|x64.ActiveCfg = Debug|x64\r - {GUID}.Debug|x64.Build.0 = Debug|x64\r - {GUID}.Release|Win32.ActiveCfg = Release|Win32\r - {GUID}.Release|Win32.Build.0 = Release|Win32\r - {GUID}.Release|x64.ActiveCfg = Release|x64\r - {GUID}.Release|x64.Build.0 = Release|x64\r -EOT - -exit( main() ); - -sub check_dirs { - foreach my $d (@thirdparty_header_dirs, @thirdparty_source_dirs) { - if (not (-d $d)) { return 0; } - } - return -d $vsx_dir - && -d $mbedtls_header_dir - && -d $psa_header_dir - && -d $source_dir - && -d $test_source_dir - && -d $test_drivers_source_dir - && -d $test_header_dir - && -d $test_drivers_header_dir - && -d $programs_dir; -} - -sub slurp_file { - my ($filename) = @_; - - local $/ = undef; - open my $fh, '<', $filename or die "Could not read $filename\n"; - my $content = <$fh>; - close $fh; - - return $content; -} - -sub content_to_file { - my ($content, $filename) = @_; - - open my $fh, '>', $filename or die "Could not write to $filename\n"; - print $fh $content; - close $fh; -} - -sub gen_app_guid { - my ($path) = @_; - - my $guid = md5_hex( "mbedTLS:$path" ); - $guid =~ s/(.{8})(.{4})(.{4})(.{4})(.{12})/\U{$1-$2-$3-$4-$5}/; - - return $guid; -} - -sub gen_app { - my ($path, $template, $dir, $ext) = @_; - - my $guid = gen_app_guid( $path ); - $path =~ s!/!\\!g; - (my $appname = $path) =~ s/.*\\//; - - my $srcs = "<ClCompile Include=\"..\\..\\programs\\$path.c\" \/>"; - if( $appname eq "ssl_client2" or $appname eq "ssl_server2" or - $appname eq "query_compile_time_config" ) { - $srcs .= "\r\n <ClCompile Include=\"..\\..\\programs\\test\\query_config.c\" \/>"; - } - if( $appname eq "ssl_client2" or $appname eq "ssl_server2" ) { - $srcs .= "\r\n <ClCompile Include=\"..\\..\\programs\\ssl\\ssl_test_lib.c\" \/>"; - } - - my $content = $template; - $content =~ s/<SOURCES>/$srcs/g; - $content =~ s/<APPNAME>/$appname/g; - $content =~ s/<GUID>/$guid/g; - $content =~ s/INCLUDE_DIRECTORIES\r\n/$include_directories/g; - - content_to_file( $content, "$dir/$appname.$ext" ); -} - -sub get_app_list { - my $app_list = `cd $programs_dir && make list`; - die "make list failed: $!\n" if $?; - - return split /\s+/, $app_list; -} - -sub gen_app_files { - my @app_list = @_; - - my $vsx_tpl = slurp_file( $vsx_app_tpl_file ); - - for my $app ( @app_list ) { - gen_app( $app, $vsx_tpl, $vsx_dir, $vsx_ext ); - } -} - -sub gen_entry_list { - my ($tpl, @names) = @_; - - my $entries; - for my $name (@names) { - (my $entry = $tpl) =~ s/{NAME}/$name/g; - $entries .= $entry; - } - - return $entries; -} - -sub gen_main_file { - my ($headers, $sources, - $hdr_tpl, $src_tpl, - $main_tpl, $main_out) = @_; - - my $header_entries = gen_entry_list( $hdr_tpl, @$headers ); - my $source_entries = gen_entry_list( $src_tpl, @$sources ); - - my $out = slurp_file( $main_tpl ); - $out =~ s/SOURCE_ENTRIES\r\n/$source_entries/m; - $out =~ s/HEADER_ENTRIES\r\n/$header_entries/m; - $out =~ s/INCLUDE_DIRECTORIES\r\n/$library_include_directories/g; - - content_to_file( $out, $main_out ); -} - -sub gen_vsx_solution { - my (@app_names) = @_; - - my ($app_entries, $conf_entries); - for my $path (@app_names) { - my $guid = gen_app_guid( $path ); - (my $appname = $path) =~ s!.*/!!; - - my $app_entry = $vsx_sln_app_entry_tpl; - $app_entry =~ s/{APPNAME}/$appname/g; - $app_entry =~ s/{GUID}/$guid/g; - - $app_entries .= $app_entry; - - my $conf_entry = $vsx_sln_conf_entry_tpl; - $conf_entry =~ s/{GUID}/$guid/g; - - $conf_entries .= $conf_entry; - } - - my $out = slurp_file( $vsx_sln_tpl_file ); - $out =~ s/APP_ENTRIES\r\n/$app_entries/m; - $out =~ s/CONF_ENTRIES\r\n/$conf_entries/m; - - content_to_file( $out, $vsx_sln_file ); -} - -sub del_vsx_files { - unlink glob "'$vsx_dir/*.$vsx_ext'"; - unlink $vsx_main_file; - unlink $vsx_sln_file; -} - -sub main { - if( ! check_dirs() ) { - chdir '..' or die; - check_dirs or die "Must but run from mbedTLS root or scripts dir\n"; - } - - # Remove old files to ensure that, for example, project files from deleted - # apps are not kept - del_vsx_files(); - - my @app_list = get_app_list(); - my @header_dirs = ( - $mbedtls_header_dir, - $psa_header_dir, - $test_header_dir, - $test_drivers_header_dir, - $source_dir, - @thirdparty_header_dirs, - ); - my @headers = (map { <$_/*.h> } @header_dirs); - my @source_dirs = ( - $source_dir, - $test_source_dir, - $test_drivers_source_dir, - @thirdparty_source_dirs, - ); - my @sources = (map { <$_/*.c> } @source_dirs); - - @headers = grep { ! $excluded_files{$_} } @headers; - @sources = grep { ! $excluded_files{$_} } @sources; - map { s!/!\\!g } @headers; - map { s!/!\\!g } @sources; - - gen_app_files( @app_list ); - - gen_main_file( \@headers, \@sources, - $vsx_hdr_tpl, $vsx_src_tpl, - $vsx_main_tpl_file, $vsx_main_file ); - - gen_vsx_solution( @app_list ); - - return 0; -} diff --git a/lib/mbedtls-2.27.0/scripts/massif_max.pl b/lib/mbedtls-2.27.0/scripts/massif_max.pl deleted file mode 100755 index eaf56ae..0000000 --- a/lib/mbedtls-2.27.0/scripts/massif_max.pl +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env perl - -# Parse a massif.out.xxx file and output peak total memory usage -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -use warnings; -use strict; - -use utf8; -use open qw(:std utf8); - -die unless @ARGV == 1; - -my @snaps; -open my $fh, '<', $ARGV[0] or die; -{ local $/ = 'snapshot='; @snaps = <$fh>; } -close $fh or die; - -my ($max, $max_heap, $max_he, $max_stack) = (0, 0, 0, 0); -for (@snaps) -{ - my ($heap, $heap_extra, $stack) = m{ - mem_heap_B=(\d+)\n - mem_heap_extra_B=(\d+)\n - mem_stacks_B=(\d+) - }xm; - next unless defined $heap; - my $total = $heap + $heap_extra + $stack; - if( $total > $max ) { - ($max, $max_heap, $max_he, $max_stack) = ($total, $heap, $heap_extra, $stack); - } -} - -printf "$max (heap $max_heap+$max_he, stack $max_stack)\n"; diff --git a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/asymmetric_key_data.py b/lib/mbedtls-2.27.0/scripts/mbedtls_dev/asymmetric_key_data.py deleted file mode 100644 index 6fd6223..0000000 --- a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/asymmetric_key_data.py +++ /dev/null @@ -1,166 +0,0 @@ -"""Sample key material for asymmetric key types. - -Meant for use in crypto_knowledge.py. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import binascii -import re -from typing import Dict - -STR_TRANS_REMOVE_BLANKS = str.maketrans('', '', ' \t\n\r') - -def unhexlify(text: str) -> bytes: - return binascii.unhexlify(text.translate(STR_TRANS_REMOVE_BLANKS)) - -def construct_asymmetric_key_data(src) -> Dict[str, Dict[int, bytes]]: - """Split key pairs into separate table entries and convert hex to bytes. - - Input format: src[abbreviated_type][size] = (private_key_hex, public_key_hex) - Output format: dst['PSA_KEY_TYPE_xxx'][size] = key_bytes - """ - dst = {} #type: Dict[str, Dict[int, bytes]] - for typ in src: - private = 'PSA_KEY_TYPE_' + re.sub(r'(\(|\Z)', r'_KEY_PAIR\1', typ, 1) - public = 'PSA_KEY_TYPE_' + re.sub(r'(\(|\Z)', r'_PUBLIC_KEY\1', typ, 1) - dst[private] = {} - dst[public] = {} - for size in src[typ]: - dst[private][size] = unhexlify(src[typ][size][0]) - dst[public][size] = unhexlify(src[typ][size][1]) - return dst - -## These are valid keys that don't try to exercise any edge cases. They're -## either test vectors from some specification, or randomly generated. All -## pairs consist of a private key and its public key. -#pylint: disable=line-too-long -ASYMMETRIC_KEY_DATA = construct_asymmetric_key_data({ - 'ECC(PSA_ECC_FAMILY_SECP_K1)': { - 192: ("297ac1722ccac7589ecb240dc719842538ca974beb79f228", - "0426b7bb38da649ac2138fc050c6548b32553dab68afebc36105d325b75538c12323cb0764789ecb992671beb2b6bef2f5"), - 224: ("0024122bf020fa113f6c0ac978dfbd41f749257a9468febdbe0dc9f7e8", - "042cc7335f4b76042bed44ef45959a62aa215f7a5ff0c8111b8c44ed654ee71c1918326ad485b2d599fe2a6eab096ee26d977334d2bac6d61d"), - 256: ("7fa06fa02d0e911b9a47fdc17d2d962ca01e2f31d60c6212d0ed7e3bba23a7b9", - "045c39154579efd667adc73a81015a797d2c8682cdfbd3c3553c4a185d481cdc50e42a0e1cbc3ca29a32a645e927f54beaed14c9dbbf8279d725f5495ca924b24d"), - }, - 'ECC(PSA_ECC_FAMILY_SECP_R1)': { - 225: ("872f203b3ad35b7f2ecc803c3a0e1e0b1ed61cc1afe71b189cd4c995", - "046f00eadaa949fee3e9e1c7fa1247eecec86a0dce46418b9bd3117b981d4bd0ae7a990de912f9d060d6cb531a42d22e394ac29e81804bf160"), - 256: ("49c9a8c18c4b885638c431cf1df1c994131609b580d4fd43a0cab17db2f13eee", - "047772656f814b399279d5e1f1781fac6f099a3c5ca1b0e35351834b08b65e0b572590cdaf8f769361bcf34acfc11e5e074e8426bdde04be6e653945449617de45"), - 384: ("3f5d8d9be280b5696cc5cc9f94cf8af7e6b61dd6592b2ab2b3a4c607450417ec327dcdcaed7c10053d719a0574f0a76a", - "04d9c662b50ba29ca47990450e043aeaf4f0c69b15676d112f622a71c93059af999691c5680d2b44d111579db12f4a413a2ed5c45fcfb67b5b63e00b91ebe59d09a6b1ac2c0c4282aa12317ed5914f999bc488bb132e8342cc36f2ca5e3379c747"), - 521: ("01b1b6ad07bb79e7320da59860ea28e055284f6058f279de666e06d435d2af7bda28d99fa47b7dd0963e16b0073078ee8b8a38d966a582f46d19ff95df3ad9685aae", - "04001de142d54f69eb038ee4b7af9d3ca07736fd9cf719eb354d69879ee7f3c136fb0fbf9f08f86be5fa128ec1a051d3e6c643e85ada8ffacf3663c260bd2c844b6f5600cee8e48a9e65d09cadd89f235dee05f3b8a646be715f1f67d5b434e0ff23a1fc07ef7740193e40eeff6f3bcdfd765aa9155033524fe4f205f5444e292c4c2f6ac1"), - }, - 'ECC(PSA_ECC_FAMILY_SECP_R2)': { - 160: ("00bf539a1cdda0d7f71a50a3f98aec0a2e8e4ced1e", - "049570d541398665adb5cfa16f5af73b3196926bbd4b876bdb80f8eab20d0f540c22f4de9c140f6d7b"), - }, - 'ECC(PSA_ECC_FAMILY_SECT_K1)': { - 163: ("03ebc8fcded2d6ab72ec0f75bdb4fd080481273e71", - "0406f88f90b4b65950f06ce433afdb097e320f433dc2062b8a65db8fafd3c110f46bc45663fbf021ee7eb9"), - 233: ("41f08485ce587b06061c087e76e247c359de2ba9927ee013b2f1ed9ca8", - "0401e9d7189189f773bd8f71be2c10774ba18842434dfa9312595ea545104400f45a9d5675647513ba75b079fe66a29daac2ec86a6a5d4e75c5f290c1f"), - 239: ("1a8069ce2c2c8bdd7087f2a6ab49588797e6294e979495602ab9650b9c61", - "04068d76b9f4508762c2379db9ee8b87ad8d86d9535132ffba3b5680440cfa28eb133d4232faf1c9aba96af11aefe634a551440800d5f8185105d3072d"), - 283: ("006d627885dd48b9ec6facb5b3865377d755b75a5d51440e45211c1f600e15eff8a881a0", - "0405f48374debceaadb46ba385fd92048fcc5b9af1a1c90408bf94a68b9378df1cbfdfb6fb026a96bea06d8f181bf10c020adbcc88b6ecff96bdc564a9649c247cede601c4be63afc3"), - 409: ("3ff5e74d932fa77db139b7c948c81e4069c72c24845574064beea8976b70267f1c6f9a503e3892ea1dcbb71fcea423faa370a8", - "04012c587f69f68b308ba6dcb238797f4e22290ca939ae806604e2b5ab4d9caef5a74a98fd87c4f88d292dd39d92e556e16c6ecc3c019a105826eef507cd9a04119f54d5d850b3720b3792d5d03410e9105610f7e4b420166ed45604a7a1f229d80975ba6be2060e8b"), - 571: ("005008c97b4a161c0db1bac6452c72846d57337aa92d8ecb4a66eb01d2f29555ffb61a5317225dcc8ca6917d91789e227efc0bfe9eeda7ee21998cd11c3c9885056b0e55b4f75d51", - "04050172a7fd7adf98e4e2ed2742faa5cd12731a15fb0dbbdf75b1c3cc771a4369af6f2fa00e802735650881735759ea9c79961ded18e0daa0ac59afb1d513b5bbda9962e435f454fc020b4afe1445c2302ada07d295ec2580f8849b2dfa7f956b09b4cbe4c88d3b1c217049f75d3900d36df0fa12689256b58dd2ef784ebbeb0564600cf47a841485f8cf897a68accd5a"), - }, - 'ECC(PSA_ECC_FAMILY_SECT_R1)': { - 163: ("009b05dc82d46d64a04a22e6e5ca70ca1231e68c50", - "0400465eeb9e7258b11e33c02266bfe834b20bcb118700772796ee4704ec67651bd447e3011959a79a04cb"), - 233: ("00e5e42834e3c78758088b905deea975f28dc20ef6173e481f96e88afe7f", - "0400cd68c8af4430c92ec7a7048becfdf00a6bae8d1b4c37286f2d336f2a0e017eca3748f4ad6d435c85867aa014eea1bd6d9d005bbd8319cab629001d"), - 283: ("004cecad915f6f3c9bbbd92d1eb101eda23f16c7dad60a57c87c7e1fd2b29b22f6d666ad", - "04052f9ff887254c2d1440ba9e30f13e2185ba53c373b2c410dae21cf8c167f796c08134f601cbc4c570bffbc2433082cf4d9eb5ba173ecb8caec15d66a02673f60807b2daa729b765"), - 409: ("00c22422d265721a3ae2b3b2baeb77bee50416e19877af97b5fc1c700a0a88916ecb9050135883accb5e64edc77a3703f4f67a64", - "0401aa25466b1d291846db365957b25431591e50d9c109fe2106e93bb369775896925b15a7bfec397406ab4fe6f6b1a13bf8fdcb9300fa5500a813228676b0a6c572ed96b0f4aec7e87832e7e20f17ca98ecdfd36f59c82bddb8665f1f357a73900e827885ec9e1f22"), - 571: ("026ac1cdf92a13a1b8d282da9725847908745138f5c6706b52d164e3675fcfbf86fc3e6ab2de732193267db029dd35a0599a94a118f480231cfc6ccca2ebfc1d8f54176e0f5656a1", - "040708f3403ee9948114855c17572152a08f8054d486defef5f29cbffcfb7cfd9280746a1ac5f751a6ad902ec1e0525120e9be56f03437af196fbe60ee7856e3542ab2cf87880632d80290e39b1a2bd03c6bbf6225511c567bd2ff41d2325dc58346f2b60b1feee4dc8b2af2296c2dc52b153e0556b5d24152b07f690c3fa24e4d1d19efbdeb1037833a733654d2366c74"), - }, - 'ECC(PSA_ECC_FAMILY_SECT_R2)': { - 163: ("0210b482a458b4822d0cb21daa96819a67c8062d34", - "0403692601144c32a6cfa369ae20ae5d43c1c764678c037bafe80c6fd2e42b7ced96171d9c5367fd3dca6f"), - }, - 'ECC(PSA_ECC_FAMILY_BRAINPOOL_P_R1)': { - 160: ("69502c4fdaf48d4fa617bdd24498b0406d0eeaac", - "04d4b9186816358e2f9c59cf70748cb70641b22fbab65473db4b4e22a361ed7e3de7e8a8ddc4130c5c"), - 192: ("1688a2c5fbf4a3c851d76a98c3ec88f445a97996283db59f", - "043fdd168c179ff5363dd71dcd58de9617caad791ae0c37328be9ca0bfc79cebabf6a95d1c52df5b5f3c8b1a2441cf6c88"), - 224: ("a69835dafeb5da5ab89c59860dddebcfd80b529a99f59b880882923c", - "045fbea378fc8583b3837e3f21a457c31eaf20a54e18eb11d104b3adc47f9d1c97eb9ea4ac21740d70d88514b98bf0bc31addac1d19c4ab3cc"), - 256: ("2161d6f2db76526fa62c16f356a80f01f32f776784b36aa99799a8b7662080ff", - "04768c8cae4abca6306db0ed81b0c4a6215c378066ec6d616c146e13f1c7df809b96ab6911c27d8a02339f0926840e55236d3d1efbe2669d090e4c4c660fada91d"), - 320: ("61b8daa7a6e5aa9fccf1ef504220b2e5a5b8c6dc7475d16d3172d7db0b2778414e4f6e8fa2032ead", - "049caed8fb4742956cc2ad12a9a1c995e21759ef26a07bc2054136d3d2f28bb331a70e26c4c687275ab1f434be7871e115d2350c0c5f61d4d06d2bcdb67f5cb63fdb794e5947c87dc6849a58694e37e6cd"), - 384: ("3dd92e750d90d7d39fc1885cd8ad12ea9441f22b9334b4d965202adb1448ce24c5808a85dd9afc229af0a3124f755bcb", - "04719f9d093a627e0d350385c661cebf00c61923566fe9006a3107af1d871bc6bb68985fd722ea32be316f8e783b7cd1957785f66cfc0cb195dd5c99a8e7abaa848553a584dfd2b48e76d445fe00dd8be59096d877d4696d23b4bc8db14724e66a"), - 512: ("372c9778f69f726cbca3f4a268f16b4d617d10280d79a6a029cd51879fe1012934dfe5395455337df6906dc7d6d2eea4dbb2065c0228f73b3ed716480e7d71d2", - "0438b7ec92b61c5c6c7fbc28a4ec759d48fcd4e2e374defd5c4968a54dbef7510e517886fbfc38ea39aa529359d70a7156c35d3cbac7ce776bdb251dd64bce71234424ee7049eed072f0dbc4d79996e175d557e263763ae97095c081e73e7db2e38adc3d4c9a0487b1ede876dc1fca61c902e9a1d8722b8612928f18a24845591a"), - }, - 'ECC(PSA_ECC_FAMILY_MONTGOMERY)': { - 255: ("70076d0a7318a57d3c16c17251b26645df4c2f87ebc0992ab177fba51db92c6a", - "8520f0098930a754748b7ddcb43ef75a0dbf3a0d26381af4eba4a98eaa9b4e6a"), - 448: ("e4e49f52686f9ee3b638528f721f1596196ffd0a1cddb64c3f216f06541805cfeb1a286dc78018095cdfec050e8007b5f4908962ba20d6c1", - "c0d3a5a2b416a573dc9909f92f134ac01323ab8f8e36804e578588ba2d09fe7c3e737f771ca112825b548a0ffded6d6a2fd09a3e77dec30e"), - }, - 'ECC(PSA_ECC_FAMILY_TWISTED_EDWARDS)': { - 255: ("9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60", - "d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a"), - 448: ("6c82a562cb808d10d632be89c8513ebf6c929f34ddfa8c9f63c9960ef6e348a3528c8a3fcc2f044e39a3fc5b94492f8f032e7549a20098f95b", - "5fd7449b59b461fd2ce787ec616ad46a1da1342485a70e1f8a0ea75d80e96778edf124769b46c7061bd6783df1e50f6cd1fa1abeafe8256180"), - }, - 'RSA': { - 1024: (""" -3082025e - 020100 - 02818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3 - 0203010001 - 02818100874bf0ffc2f2a71d14671ddd0171c954d7fdbf50281e4f6d99ea0e1ebcf82faa58e7b595ffb293d1abe17f110b37c48cc0f36c37e84d876621d327f64bbe08457d3ec4098ba2fa0a319fba411c2841ed7be83196a8cdf9daa5d00694bc335fc4c32217fe0488bce9cb7202e59468b1ead119000477db2ca797fac19eda3f58c1 - 024100e2ab760841bb9d30a81d222de1eb7381d82214407f1b975cbbfe4e1a9467fd98adbd78f607836ca5be1928b9d160d97fd45c12d6b52e2c9871a174c66b488113 - 024100c5ab27602159ae7d6f20c3c2ee851e46dc112e689e28d5fcbbf990a99ef8a90b8bb44fd36467e7fc1789ceb663abda338652c3c73f111774902e840565927091 - 024100b6cdbd354f7df579a63b48b3643e353b84898777b48b15f94e0bfc0567a6ae5911d57ad6409cf7647bf96264e9bd87eb95e263b7110b9a1f9f94acced0fafa4d - 024071195eec37e8d257decfc672b07ae639f10cbb9b0c739d0c809968d644a94e3fd6ed9287077a14583f379058f76a8aecd43c62dc8c0f41766650d725275ac4a1 - 024100bb32d133edc2e048d463388b7be9cb4be29f4b6250be603e70e3647501c97ddde20a4e71be95fd5e71784e25aca4baf25be5738aae59bbfe1c997781447a2b24 -""", """ - 308189 - 02818100af057d396ee84fb75fdbb5c2b13c7fe5a654aa8aa2470b541ee1feb0b12d25c79711531249e1129628042dbbb6c120d1443524ef4c0e6e1d8956eeb2077af12349ddeee54483bc06c2c61948cd02b202e796aebd94d3a7cbf859c2c1819c324cb82b9cd34ede263a2abffe4733f077869e8660f7d6834da53d690ef7985f6bc3 - 0203010001 -"""), - 1536: (""" -3082037b - 020100 - 0281c100c870feb6ca6b1d2bd9f2dd99e20f1fe2d7e5192de662229dbe162bd1ba66336a7182903ca0b72796cd441c83d24bcdc3e9a2f5e4399c8a043f1c3ddf04754a66d4cfe7b3671a37dd31a9b4c13bfe06ee90f9d94ddaa06de67a52ac863e68f756736ceb014405a6160579640f831dddccc34ad0b05070e3f9954a58d1815813e1b83bcadba814789c87f1ef2ba5d738b793ec456a67360eea1b5faf1c7cc7bf24f3b2a9d0f8958b1096e0f0c335f8888d0c63a51c3c0337214fa3f5efdf6dcc35 - 0203010001 - 0281c06d2d670047973a87752a9d5bc14f3dae00acb01f593aa0e24cf4a49f932931de4bbfb332e2d38083da80bc0b6d538edba479f7f77d0deffb4a28e6e67ff6273585bb4cd862535c946605ab0809d65f0e38f76e4ec2c3d9b8cd6e14bcf667943892cd4b34cc6420a439abbf3d7d35ef73976dd6f9cbde35a51fa5213f0107f83e3425835d16d3c9146fc9e36ce75a09bb66cdff21dd5a776899f1cb07e282cca27be46510e9c799f0d8db275a6be085d9f3f803218ee3384265bfb1a3640e8ca1 - 026100e6848c31d466fffefc547e3a3b0d3785de6f78b0dd12610843512e495611a0675509b1650b27415009838dd8e68eec6e7530553b637d602424643b33e8bc5b762e1799bc79d56b13251d36d4f201da2182416ce13574e88278ff04467ad602d9 - 026100de994fdf181f02be2bf9e5f5e4e517a94993b827d1eaf609033e3a6a6f2396ae7c44e9eb594cf1044cb3ad32ea258f0c82963b27bb650ed200cde82cb993374be34be5b1c7ead5446a2b82a4486e8c1810a0b01551609fb0841d474bada802bd - 026076ddae751b73a959d0bfb8ff49e7fcd378e9be30652ecefe35c82cb8003bc29cc60ae3809909baf20c95db9516fe680865417111d8b193dbcf30281f1249de57c858bf1ba32f5bb1599800e8398a9ef25c7a642c95261da6f9c17670e97265b1 - 0260732482b837d5f2a9443e23c1aa0106d83e82f6c3424673b5fdc3769c0f992d1c5c93991c7038e882fcda04414df4d7a5f4f698ead87851ce37344b60b72d7b70f9c60cae8566e7a257f8e1bef0e89df6e4c2f9d24d21d9f8889e4c7eccf91751 - 026009050d94493da8f00a4ddbe9c800afe3d44b43f78a48941a79b2814a1f0b81a18a8b2347642a03b27998f5a18de9abc9ae0e54ab8294feac66dc87e854cce6f7278ac2710cb5878b592ffeb1f4f0a1853e4e8d1d0561b6efcc831a296cf7eeaf -""", """ -3081c9 - 0281c100c870feb6ca6b1d2bd9f2dd99e20f1fe2d7e5192de662229dbe162bd1ba66336a7182903ca0b72796cd441c83d24bcdc3e9a2f5e4399c8a043f1c3ddf04754a66d4cfe7b3671a37dd31a9b4c13bfe06ee90f9d94ddaa06de67a52ac863e68f756736ceb014405a6160579640f831dddccc34ad0b05070e3f9954a58d1815813e1b83bcadba814789c87f1ef2ba5d738b793ec456a67360eea1b5faf1c7cc7bf24f3b2a9d0f8958b1096e0f0c335f8888d0c63a51c3c0337214fa3f5efdf6dcc35 - 0203010001 -"""), - }, -}) diff --git a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/c_build_helper.py b/lib/mbedtls-2.27.0/scripts/mbedtls_dev/c_build_helper.py deleted file mode 100644 index 5c587a1..0000000 --- a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/c_build_helper.py +++ /dev/null @@ -1,138 +0,0 @@ -"""Generate and run C code. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import os -import platform -import subprocess -import sys -import tempfile - -def remove_file_if_exists(filename): - """Remove the specified file, ignoring errors.""" - if not filename: - return - try: - os.remove(filename) - except OSError: - pass - -def create_c_file(file_label): - """Create a temporary C file. - - * ``file_label``: a string that will be included in the file name. - - Return ```(c_file, c_name, exe_name)``` where ``c_file`` is a Python - stream open for writing to the file, ``c_name`` is the name of the file - and ``exe_name`` is the name of the executable that will be produced - by compiling the file. - """ - c_fd, c_name = tempfile.mkstemp(prefix='tmp-{}-'.format(file_label), - suffix='.c') - exe_suffix = '.exe' if platform.system() == 'Windows' else '' - exe_name = c_name[:-2] + exe_suffix - remove_file_if_exists(exe_name) - c_file = os.fdopen(c_fd, 'w', encoding='ascii') - return c_file, c_name, exe_name - -def generate_c_printf_expressions(c_file, cast_to, printf_format, expressions): - """Generate C instructions to print the value of ``expressions``. - - Write the code with ``c_file``'s ``write`` method. - - Each expression is cast to the type ``cast_to`` and printed with the - printf format ``printf_format``. - """ - for expr in expressions: - c_file.write(' printf("{}\\n", ({}) {});\n' - .format(printf_format, cast_to, expr)) - -def generate_c_file(c_file, - caller, header, - main_generator): - """Generate a temporary C source file. - - * ``c_file`` is an open stream on the C source file. - * ``caller``: an informational string written in a comment at the top - of the file. - * ``header``: extra code to insert before any function in the generated - C file. - * ``main_generator``: a function called with ``c_file`` as its sole argument - to generate the body of the ``main()`` function. - """ - c_file.write('/* Generated by {} */' - .format(caller)) - c_file.write(''' -#include <stdio.h> -''') - c_file.write(header) - c_file.write(''' -int main(void) -{ -''') - main_generator(c_file) - c_file.write(''' return 0; -} -''') - -def get_c_expression_values( - cast_to, printf_format, - expressions, - caller=__name__, file_label='', - header='', include_path=None, - keep_c=False, -): # pylint: disable=too-many-arguments - """Generate and run a program to print out numerical values for expressions. - - * ``cast_to``: a C type. - * ``printf_format``: a printf format suitable for the type ``cast_to``. - * ``header``: extra code to insert before any function in the generated - C file. - * ``expressions``: a list of C language expressions that have the type - ``cast_to``. - * ``include_path``: a list of directories containing header files. - * ``keep_c``: if true, keep the temporary C file (presumably for debugging - purposes). - - Return the list of values of the ``expressions``. - """ - if include_path is None: - include_path = [] - c_name = None - exe_name = None - try: - c_file, c_name, exe_name = create_c_file(file_label) - generate_c_file( - c_file, caller, header, - lambda c_file: generate_c_printf_expressions(c_file, - cast_to, printf_format, - expressions) - ) - c_file.close() - cc = os.getenv('CC', 'cc') - subprocess.check_call([cc] + - ['-I' + dir for dir in include_path] + - ['-o', exe_name, c_name]) - if keep_c: - sys.stderr.write('List of {} tests kept at {}\n' - .format(caller, c_name)) - else: - os.remove(c_name) - output = subprocess.check_output([exe_name]) - return output.decode('ascii').strip().split('\n') - finally: - remove_file_if_exists(exe_name) diff --git a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/crypto_knowledge.py b/lib/mbedtls-2.27.0/scripts/mbedtls_dev/crypto_knowledge.py deleted file mode 100644 index 7214adb..0000000 --- a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/crypto_knowledge.py +++ /dev/null @@ -1,153 +0,0 @@ -"""Knowledge about cryptographic mechanisms implemented in Mbed TLS. - -This module is entirely based on the PSA API. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import re -from typing import Dict, Iterable, Optional, Pattern, Tuple - -from mbedtls_dev.asymmetric_key_data import ASYMMETRIC_KEY_DATA - -class KeyType: - """Knowledge about a PSA key type.""" - - def __init__(self, name: str, params: Optional[Iterable[str]] = None): - """Analyze a key type. - - The key type must be specified in PSA syntax. In its simplest form, - `name` is a string 'PSA_KEY_TYPE_xxx' which is the name of a PSA key - type macro. For key types that take arguments, the arguments can - be passed either through the optional argument `params` or by - passing an expression of the form 'PSA_KEY_TYPE_xxx(param1, ...)' - in `name` as a string. - """ - - self.name = name.strip() - """The key type macro name (``PSA_KEY_TYPE_xxx``). - - For key types constructed from a macro with arguments, this is the - name of the macro, and the arguments are in `self.params`. - """ - if params is None: - if '(' in self.name: - m = re.match(r'(\w+)\s*\((.*)\)\Z', self.name) - assert m is not None - self.name = m.group(1) - params = m.group(2).split(',') - self.params = (None if params is None else - [param.strip() for param in params]) - """The parameters of the key type, if there are any. - - None if the key type is a macro without arguments. - """ - assert re.match(r'PSA_KEY_TYPE_\w+\Z', self.name) - - self.expression = self.name - """A C expression whose value is the key type encoding.""" - if self.params is not None: - self.expression += '(' + ', '.join(self.params) + ')' - - self.private_type = re.sub(r'_PUBLIC_KEY\Z', r'_KEY_PAIR', self.name) - """The key type macro name for the corresponding key pair type. - - For everything other than a public key type, this is the same as - `self.name`. - """ - - ECC_KEY_SIZES = { - 'PSA_ECC_FAMILY_SECP_K1': (192, 224, 256), - 'PSA_ECC_FAMILY_SECP_R1': (225, 256, 384, 521), - 'PSA_ECC_FAMILY_SECP_R2': (160,), - 'PSA_ECC_FAMILY_SECT_K1': (163, 233, 239, 283, 409, 571), - 'PSA_ECC_FAMILY_SECT_R1': (163, 233, 283, 409, 571), - 'PSA_ECC_FAMILY_SECT_R2': (163,), - 'PSA_ECC_FAMILY_BRAINPOOL_P_R1': (160, 192, 224, 256, 320, 384, 512), - 'PSA_ECC_FAMILY_MONTGOMERY': (255, 448), - 'PSA_ECC_FAMILY_TWISTED_EDWARDS': (255, 448), - } - KEY_TYPE_SIZES = { - 'PSA_KEY_TYPE_AES': (128, 192, 256), # exhaustive - 'PSA_KEY_TYPE_ARC4': (8, 128, 2048), # extremes + sensible - 'PSA_KEY_TYPE_ARIA': (128, 192, 256), # exhaustive - 'PSA_KEY_TYPE_CAMELLIA': (128, 192, 256), # exhaustive - 'PSA_KEY_TYPE_CHACHA20': (256,), # exhaustive - 'PSA_KEY_TYPE_DERIVE': (120, 128), # sample - 'PSA_KEY_TYPE_DES': (64, 128, 192), # exhaustive - 'PSA_KEY_TYPE_HMAC': (128, 160, 224, 256, 384, 512), # standard size for each supported hash - 'PSA_KEY_TYPE_RAW_DATA': (8, 40, 128), # sample - 'PSA_KEY_TYPE_RSA_KEY_PAIR': (1024, 1536), # small sample - } - def sizes_to_test(self) -> Tuple[int, ...]: - """Return a tuple of key sizes to test. - - For key types that only allow a single size, or only a small set of - sizes, these are all the possible sizes. For key types that allow a - wide range of sizes, these are a representative sample of sizes, - excluding large sizes for which a typical resource-constrained platform - may run out of memory. - """ - if self.private_type == 'PSA_KEY_TYPE_ECC_KEY_PAIR': - assert self.params is not None - return self.ECC_KEY_SIZES[self.params[0]] - return self.KEY_TYPE_SIZES[self.private_type] - - # "48657265006973206b6579a064617461" - DATA_BLOCK = b'Here\000is key\240data' - def key_material(self, bits: int) -> bytes: - """Return a byte string containing suitable key material with the given bit length. - - Use the PSA export representation. The resulting byte string is one that - can be obtained with the following code: - ``` - psa_set_key_type(&attributes, `self.expression`); - psa_set_key_bits(&attributes, `bits`); - psa_set_key_usage_flags(&attributes, PSA_KEY_USAGE_EXPORT); - psa_generate_key(&attributes, &id); - psa_export_key(id, `material`, ...); - ``` - """ - if self.expression in ASYMMETRIC_KEY_DATA: - if bits not in ASYMMETRIC_KEY_DATA[self.expression]: - raise ValueError('No key data for {}-bit {}' - .format(bits, self.expression)) - return ASYMMETRIC_KEY_DATA[self.expression][bits] - if bits % 8 != 0: - raise ValueError('Non-integer number of bytes: {} bits for {}' - .format(bits, self.expression)) - length = bits // 8 - if self.name == 'PSA_KEY_TYPE_DES': - # "644573206b457901644573206b457902644573206b457904" - des3 = b'dEs kEy\001dEs kEy\002dEs kEy\004' - return des3[:length] - return b''.join([self.DATA_BLOCK] * (length // len(self.DATA_BLOCK)) + - [self.DATA_BLOCK[:length % len(self.DATA_BLOCK)]]) - - KEY_TYPE_FOR_SIGNATURE = { - 'PSA_KEY_USAGE_SIGN_HASH': re.compile('.*KEY_PAIR'), - 'PSA_KEY_USAGE_VERIFY_HASH': re.compile('.*KEY.*') - } #type: Dict[str, Pattern] - """Use a regexp to determine key types for which signature is possible - when using the actual usage flag. - """ - def is_valid_for_signature(self, usage: str) -> bool: - """Determine if the key type is compatible with the specified - signitute type. - - """ - # This is just temporaly solution for the implicit usage flags. - return re.match(self.KEY_TYPE_FOR_SIGNATURE[usage], self.name) is not None diff --git a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/macro_collector.py b/lib/mbedtls-2.27.0/scripts/mbedtls_dev/macro_collector.py deleted file mode 100644 index f8d6155..0000000 --- a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/macro_collector.py +++ /dev/null @@ -1,512 +0,0 @@ -"""Collect macro definitions from header files. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import itertools -import re -from typing import Dict, Iterable, Iterator, List, Optional, Pattern, Set, Tuple, Union - - -class ReadFileLineException(Exception): - def __init__(self, filename: str, line_number: Union[int, str]) -> None: - message = 'in {} at {}'.format(filename, line_number) - super(ReadFileLineException, self).__init__(message) - self.filename = filename - self.line_number = line_number - - -class read_file_lines: - # Dear Pylint, conventionally, a context manager class name is lowercase. - # pylint: disable=invalid-name,too-few-public-methods - """Context manager to read a text file line by line. - - ``` - with read_file_lines(filename) as lines: - for line in lines: - process(line) - ``` - is equivalent to - ``` - with open(filename, 'r') as input_file: - for line in input_file: - process(line) - ``` - except that if process(line) raises an exception, then the read_file_lines - snippet annotates the exception with the file name and line number. - """ - def __init__(self, filename: str, binary: bool = False) -> None: - self.filename = filename - self.line_number = 'entry' #type: Union[int, str] - self.generator = None #type: Optional[Iterable[Tuple[int, str]]] - self.binary = binary - def __enter__(self) -> 'read_file_lines': - self.generator = enumerate(open(self.filename, - 'rb' if self.binary else 'r')) - return self - def __iter__(self) -> Iterator[str]: - assert self.generator is not None - for line_number, content in self.generator: - self.line_number = line_number - yield content - self.line_number = 'exit' - def __exit__(self, exc_type, exc_value, exc_traceback) -> None: - if exc_type is not None: - raise ReadFileLineException(self.filename, self.line_number) \ - from exc_value - - -class PSAMacroEnumerator: - """Information about constructors of various PSA Crypto types. - - This includes macro names as well as information about their arguments - when applicable. - - This class only provides ways to enumerate expressions that evaluate to - values of the covered types. Derived classes are expected to populate - the set of known constructors of each kind, as well as populate - `self.arguments_for` for arguments that are not of a kind that is - enumerated here. - """ - #pylint: disable=too-many-instance-attributes - - def __init__(self) -> None: - """Set up an empty set of known constructor macros. - """ - self.statuses = set() #type: Set[str] - self.lifetimes = set() #type: Set[str] - self.locations = set() #type: Set[str] - self.persistence_levels = set() #type: Set[str] - self.algorithms = set() #type: Set[str] - self.ecc_curves = set() #type: Set[str] - self.dh_groups = set() #type: Set[str] - self.key_types = set() #type: Set[str] - self.key_usage_flags = set() #type: Set[str] - self.hash_algorithms = set() #type: Set[str] - self.mac_algorithms = set() #type: Set[str] - self.ka_algorithms = set() #type: Set[str] - self.kdf_algorithms = set() #type: Set[str] - self.aead_algorithms = set() #type: Set[str] - self.sign_algorithms = set() #type: Set[str] - # macro name -> list of argument names - self.argspecs = {} #type: Dict[str, List[str]] - # argument name -> list of values - self.arguments_for = { - 'mac_length': [], - 'min_mac_length': [], - 'tag_length': [], - 'min_tag_length': [], - } #type: Dict[str, List[str]] - # Whether to include intermediate macros in enumerations. Intermediate - # macros serve as category headers and are not valid values of their - # type. See `is_internal_name`. - # Always false in this class, may be set to true in derived classes. - self.include_intermediate = False - - def is_internal_name(self, name: str) -> bool: - """Whether this is an internal macro. Internal macros will be skipped.""" - if not self.include_intermediate: - if name.endswith('_BASE') or name.endswith('_NONE'): - return True - if '_CATEGORY_' in name: - return True - return name.endswith('_FLAG') or name.endswith('_MASK') - - def gather_arguments(self) -> None: - """Populate the list of values for macro arguments. - - Call this after parsing all the inputs. - """ - self.arguments_for['hash_alg'] = sorted(self.hash_algorithms) - self.arguments_for['mac_alg'] = sorted(self.mac_algorithms) - self.arguments_for['ka_alg'] = sorted(self.ka_algorithms) - self.arguments_for['kdf_alg'] = sorted(self.kdf_algorithms) - self.arguments_for['aead_alg'] = sorted(self.aead_algorithms) - self.arguments_for['sign_alg'] = sorted(self.sign_algorithms) - self.arguments_for['curve'] = sorted(self.ecc_curves) - self.arguments_for['group'] = sorted(self.dh_groups) - self.arguments_for['persistence'] = sorted(self.persistence_levels) - self.arguments_for['location'] = sorted(self.locations) - self.arguments_for['lifetime'] = sorted(self.lifetimes) - - @staticmethod - def _format_arguments(name: str, arguments: Iterable[str]) -> str: - """Format a macro call with arguments. - - The resulting format is consistent with - `InputsForTest.normalize_argument`. - """ - return name + '(' + ', '.join(arguments) + ')' - - _argument_split_re = re.compile(r' *, *') - @classmethod - def _argument_split(cls, arguments: str) -> List[str]: - return re.split(cls._argument_split_re, arguments) - - def distribute_arguments(self, name: str) -> Iterator[str]: - """Generate macro calls with each tested argument set. - - If name is a macro without arguments, just yield "name". - If name is a macro with arguments, yield a series of - "name(arg1,...,argN)" where each argument takes each possible - value at least once. - """ - try: - if name not in self.argspecs: - yield name - return - argspec = self.argspecs[name] - if argspec == []: - yield name + '()' - return - argument_lists = [self.arguments_for[arg] for arg in argspec] - arguments = [values[0] for values in argument_lists] - yield self._format_arguments(name, arguments) - # Dear Pylint, enumerate won't work here since we're modifying - # the array. - # pylint: disable=consider-using-enumerate - for i in range(len(arguments)): - for value in argument_lists[i][1:]: - arguments[i] = value - yield self._format_arguments(name, arguments) - arguments[i] = argument_lists[0][0] - except BaseException as e: - raise Exception('distribute_arguments({})'.format(name)) from e - - def distribute_arguments_without_duplicates( - self, seen: Set[str], name: str - ) -> Iterator[str]: - """Same as `distribute_arguments`, but don't repeat seen results.""" - for result in self.distribute_arguments(name): - if result not in seen: - seen.add(result) - yield result - - def generate_expressions(self, names: Iterable[str]) -> Iterator[str]: - """Generate expressions covering values constructed from the given names. - - `names` can be any iterable collection of macro names. - - For example: - * ``generate_expressions(['PSA_ALG_CMAC', 'PSA_ALG_HMAC'])`` - generates ``'PSA_ALG_CMAC'`` as well as ``'PSA_ALG_HMAC(h)'`` for - every known hash algorithm ``h``. - * ``macros.generate_expressions(macros.key_types)`` generates all - key types. - """ - seen = set() #type: Set[str] - return itertools.chain(*( - self.distribute_arguments_without_duplicates(seen, name) - for name in names - )) - - -class PSAMacroCollector(PSAMacroEnumerator): - """Collect PSA crypto macro definitions from C header files. - """ - - def __init__(self, include_intermediate: bool = False) -> None: - """Set up an object to collect PSA macro definitions. - - Call the read_file method of the constructed object on each header file. - - * include_intermediate: if true, include intermediate macros such as - PSA_XXX_BASE that do not designate semantic values. - """ - super().__init__() - self.include_intermediate = include_intermediate - self.key_types_from_curve = {} #type: Dict[str, str] - self.key_types_from_group = {} #type: Dict[str, str] - self.algorithms_from_hash = {} #type: Dict[str, str] - - def record_algorithm_subtype(self, name: str, expansion: str) -> None: - """Record the subtype of an algorithm constructor. - - Given a ``PSA_ALG_xxx`` macro name and its expansion, if the algorithm - is of a subtype that is tracked in its own set, add it to the relevant - set. - """ - # This code is very ad hoc and fragile. It should be replaced by - # something more robust. - if re.match(r'MAC(?:_|\Z)', name): - self.mac_algorithms.add(name) - elif re.match(r'KDF(?:_|\Z)', name): - self.kdf_algorithms.add(name) - elif re.search(r'0x020000[0-9A-Fa-f]{2}', expansion): - self.hash_algorithms.add(name) - elif re.search(r'0x03[0-9A-Fa-f]{6}', expansion): - self.mac_algorithms.add(name) - elif re.search(r'0x05[0-9A-Fa-f]{6}', expansion): - self.aead_algorithms.add(name) - elif re.search(r'0x09[0-9A-Fa-f]{2}0000', expansion): - self.ka_algorithms.add(name) - elif re.search(r'0x08[0-9A-Fa-f]{6}', expansion): - self.kdf_algorithms.add(name) - - # "#define" followed by a macro name with either no parameters - # or a single parameter and a non-empty expansion. - # Grab the macro name in group 1, the parameter name if any in group 2 - # and the expansion in group 3. - _define_directive_re = re.compile(r'\s*#\s*define\s+(\w+)' + - r'(?:\s+|\((\w+)\)\s*)' + - r'(.+)') - _deprecated_definition_re = re.compile(r'\s*MBEDTLS_DEPRECATED') - - def read_line(self, line): - """Parse a C header line and record the PSA identifier it defines if any. - This function analyzes lines that start with "#define PSA_" - (up to non-significant whitespace) and skips all non-matching lines. - """ - # pylint: disable=too-many-branches - m = re.match(self._define_directive_re, line) - if not m: - return - name, parameter, expansion = m.groups() - expansion = re.sub(r'/\*.*?\*/|//.*', r' ', expansion) - if parameter: - self.argspecs[name] = [parameter] - if re.match(self._deprecated_definition_re, expansion): - # Skip deprecated values, which are assumed to be - # backward compatibility aliases that share - # numerical values with non-deprecated values. - return - if self.is_internal_name(name): - # Macro only to build actual values - return - elif (name.startswith('PSA_ERROR_') or name == 'PSA_SUCCESS') \ - and not parameter: - self.statuses.add(name) - elif name.startswith('PSA_KEY_TYPE_') and not parameter: - self.key_types.add(name) - elif name.startswith('PSA_KEY_TYPE_') and parameter == 'curve': - self.key_types_from_curve[name] = name[:13] + 'IS_' + name[13:] - elif name.startswith('PSA_KEY_TYPE_') and parameter == 'group': - self.key_types_from_group[name] = name[:13] + 'IS_' + name[13:] - elif name.startswith('PSA_ECC_FAMILY_') and not parameter: - self.ecc_curves.add(name) - elif name.startswith('PSA_DH_FAMILY_') and not parameter: - self.dh_groups.add(name) - elif name.startswith('PSA_ALG_') and not parameter: - if name in ['PSA_ALG_ECDSA_BASE', - 'PSA_ALG_RSA_PKCS1V15_SIGN_BASE']: - # Ad hoc skipping of duplicate names for some numerical values - return - self.algorithms.add(name) - self.record_algorithm_subtype(name, expansion) - elif name.startswith('PSA_ALG_') and parameter == 'hash_alg': - if name in ['PSA_ALG_DSA', 'PSA_ALG_ECDSA']: - # A naming irregularity - tester = name[:8] + 'IS_RANDOMIZED_' + name[8:] - else: - tester = name[:8] + 'IS_' + name[8:] - self.algorithms_from_hash[name] = tester - elif name.startswith('PSA_KEY_USAGE_') and not parameter: - self.key_usage_flags.add(name) - else: - # Other macro without parameter - return - - _nonascii_re = re.compile(rb'[^\x00-\x7f]+') - _continued_line_re = re.compile(rb'\\\r?\n\Z') - def read_file(self, header_file): - for line in header_file: - m = re.search(self._continued_line_re, line) - while m: - cont = next(header_file) - line = line[:m.start(0)] + cont - m = re.search(self._continued_line_re, line) - line = re.sub(self._nonascii_re, rb'', line).decode('ascii') - self.read_line(line) - - -class InputsForTest(PSAMacroEnumerator): - # pylint: disable=too-many-instance-attributes - """Accumulate information about macros to test. -enumerate - This includes macro names as well as information about their arguments - when applicable. - """ - - def __init__(self) -> None: - super().__init__() - self.all_declared = set() #type: Set[str] - # Identifier prefixes - self.table_by_prefix = { - 'ERROR': self.statuses, - 'ALG': self.algorithms, - 'ECC_CURVE': self.ecc_curves, - 'DH_GROUP': self.dh_groups, - 'KEY_LIFETIME': self.lifetimes, - 'KEY_LOCATION': self.locations, - 'KEY_PERSISTENCE': self.persistence_levels, - 'KEY_TYPE': self.key_types, - 'KEY_USAGE': self.key_usage_flags, - } #type: Dict[str, Set[str]] - # Test functions - self.table_by_test_function = { - # Any function ending in _algorithm also gets added to - # self.algorithms. - 'key_type': [self.key_types], - 'block_cipher_key_type': [self.key_types], - 'stream_cipher_key_type': [self.key_types], - 'ecc_key_family': [self.ecc_curves], - 'ecc_key_types': [self.ecc_curves], - 'dh_key_family': [self.dh_groups], - 'dh_key_types': [self.dh_groups], - 'hash_algorithm': [self.hash_algorithms], - 'mac_algorithm': [self.mac_algorithms], - 'cipher_algorithm': [], - 'hmac_algorithm': [self.mac_algorithms, self.sign_algorithms], - 'aead_algorithm': [self.aead_algorithms], - 'key_derivation_algorithm': [self.kdf_algorithms], - 'key_agreement_algorithm': [self.ka_algorithms], - 'asymmetric_signature_algorithm': [self.sign_algorithms], - 'asymmetric_signature_wildcard': [self.algorithms], - 'asymmetric_encryption_algorithm': [], - 'other_algorithm': [], - 'lifetime': [self.lifetimes], - } #type: Dict[str, List[Set[str]]] - self.arguments_for['mac_length'] += ['1', '63'] - self.arguments_for['min_mac_length'] += ['1', '63'] - self.arguments_for['tag_length'] += ['1', '63'] - self.arguments_for['min_tag_length'] += ['1', '63'] - - def add_numerical_values(self) -> None: - """Add numerical values that are not supported to the known identifiers.""" - # Sets of names per type - self.algorithms.add('0xffffffff') - self.ecc_curves.add('0xff') - self.dh_groups.add('0xff') - self.key_types.add('0xffff') - self.key_usage_flags.add('0x80000000') - - # Hard-coded values for unknown algorithms - # - # These have to have values that are correct for their respective - # PSA_ALG_IS_xxx macros, but are also not currently assigned and are - # not likely to be assigned in the near future. - self.hash_algorithms.add('0x020000fe') # 0x020000ff is PSA_ALG_ANY_HASH - self.mac_algorithms.add('0x03007fff') - self.ka_algorithms.add('0x09fc0000') - self.kdf_algorithms.add('0x080000ff') - # For AEAD algorithms, the only variability is over the tag length, - # and this only applies to known algorithms, so don't test an - # unknown algorithm. - - def get_names(self, type_word: str) -> Set[str]: - """Return the set of known names of values of the given type.""" - return { - 'status': self.statuses, - 'algorithm': self.algorithms, - 'ecc_curve': self.ecc_curves, - 'dh_group': self.dh_groups, - 'key_type': self.key_types, - 'key_usage': self.key_usage_flags, - }[type_word] - - # Regex for interesting header lines. - # Groups: 1=macro name, 2=type, 3=argument list (optional). - _header_line_re = \ - re.compile(r'#define +' + - r'(PSA_((?:(?:DH|ECC|KEY)_)?[A-Z]+)_\w+)' + - r'(?:\(([^\n()]*)\))?') - # Regex of macro names to exclude. - _excluded_name_re = re.compile(r'_(?:GET|IS|OF)_|_(?:BASE|FLAG|MASK)\Z') - # Additional excluded macros. - _excluded_names = set([ - # Macros that provide an alternative way to build the same - # algorithm as another macro. - 'PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG', - 'PSA_ALG_FULL_LENGTH_MAC', - # Auxiliary macro whose name doesn't fit the usual patterns for - # auxiliary macros. - 'PSA_ALG_AEAD_WITH_DEFAULT_LENGTH_TAG_CASE', - ]) - def parse_header_line(self, line: str) -> None: - """Parse a C header line, looking for "#define PSA_xxx".""" - m = re.match(self._header_line_re, line) - if not m: - return - name = m.group(1) - self.all_declared.add(name) - if re.search(self._excluded_name_re, name) or \ - name in self._excluded_names or \ - self.is_internal_name(name): - return - dest = self.table_by_prefix.get(m.group(2)) - if dest is None: - return - dest.add(name) - if m.group(3): - self.argspecs[name] = self._argument_split(m.group(3)) - - _nonascii_re = re.compile(rb'[^\x00-\x7f]+') #type: Pattern - def parse_header(self, filename: str) -> None: - """Parse a C header file, looking for "#define PSA_xxx".""" - with read_file_lines(filename, binary=True) as lines: - for line in lines: - line = re.sub(self._nonascii_re, rb'', line).decode('ascii') - self.parse_header_line(line) - - _macro_identifier_re = re.compile(r'[A-Z]\w+') - def generate_undeclared_names(self, expr: str) -> Iterable[str]: - for name in re.findall(self._macro_identifier_re, expr): - if name not in self.all_declared: - yield name - - def accept_test_case_line(self, function: str, argument: str) -> bool: - #pylint: disable=unused-argument - undeclared = list(self.generate_undeclared_names(argument)) - if undeclared: - raise Exception('Undeclared names in test case', undeclared) - return True - - @staticmethod - def normalize_argument(argument: str) -> str: - """Normalize whitespace in the given C expression. - - The result uses the same whitespace as - ` PSAMacroEnumerator.distribute_arguments`. - """ - return re.sub(r',', r', ', re.sub(r' +', r'', argument)) - - def add_test_case_line(self, function: str, argument: str) -> None: - """Parse a test case data line, looking for algorithm metadata tests.""" - sets = [] - if function.endswith('_algorithm'): - sets.append(self.algorithms) - if function == 'key_agreement_algorithm' and \ - argument.startswith('PSA_ALG_KEY_AGREEMENT('): - # We only want *raw* key agreement algorithms as such, so - # exclude ones that are already chained with a KDF. - # Keep the expression as one to test as an algorithm. - function = 'other_algorithm' - sets += self.table_by_test_function[function] - if self.accept_test_case_line(function, argument): - for s in sets: - s.add(self.normalize_argument(argument)) - - # Regex matching a *.data line containing a test function call and - # its arguments. The actual definition is partly positional, but this - # regex is good enough in practice. - _test_case_line_re = re.compile(r'(?!depends_on:)(\w+):([^\n :][^:\n]*)') - def parse_test_cases(self, filename: str) -> None: - """Parse a test case file (*.data), looking for algorithm metadata tests.""" - with read_file_lines(filename) as lines: - for line in lines: - m = re.match(self._test_case_line_re, line) - if m: - self.add_test_case_line(m.group(1), m.group(2)) diff --git a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/psa_storage.py b/lib/mbedtls-2.27.0/scripts/mbedtls_dev/psa_storage.py deleted file mode 100644 index 45f0380..0000000 --- a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/psa_storage.py +++ /dev/null @@ -1,203 +0,0 @@ -"""Knowledge about the PSA key store as implemented in Mbed TLS. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import re -import struct -from typing import Dict, List, Optional, Set, Union -import unittest - -from mbedtls_dev import c_build_helper - - -class Expr: - """Representation of a C expression with a known or knowable numerical value.""" - - def __init__(self, content: Union[int, str]): - if isinstance(content, int): - digits = 8 if content > 0xffff else 4 - self.string = '{0:#0{1}x}'.format(content, digits + 2) - self.value_if_known = content #type: Optional[int] - else: - self.string = content - self.unknown_values.add(self.normalize(content)) - self.value_if_known = None - - value_cache = {} #type: Dict[str, int] - """Cache of known values of expressions.""" - - unknown_values = set() #type: Set[str] - """Expressions whose values are not present in `value_cache` yet.""" - - def update_cache(self) -> None: - """Update `value_cache` for expressions registered in `unknown_values`.""" - expressions = sorted(self.unknown_values) - values = c_build_helper.get_c_expression_values( - 'unsigned long', '%lu', - expressions, - header=""" - #include <psa/crypto.h> - """, - include_path=['include']) #type: List[str] - for e, v in zip(expressions, values): - self.value_cache[e] = int(v, 0) - self.unknown_values.clear() - - @staticmethod - def normalize(string: str) -> str: - """Put the given C expression in a canonical form. - - This function is only intended to give correct results for the - relatively simple kind of C expression typically used with this - module. - """ - return re.sub(r'\s+', r'', string) - - def value(self) -> int: - """Return the numerical value of the expression.""" - if self.value_if_known is None: - if re.match(r'([0-9]+|0x[0-9a-f]+)\Z', self.string, re.I): - return int(self.string, 0) - normalized = self.normalize(self.string) - if normalized not in self.value_cache: - self.update_cache() - self.value_if_known = self.value_cache[normalized] - return self.value_if_known - -Exprable = Union[str, int, Expr] -"""Something that can be converted to a C expression with a known numerical value.""" - -def as_expr(thing: Exprable) -> Expr: - """Return an `Expr` object for `thing`. - - If `thing` is already an `Expr` object, return it. Otherwise build a new - `Expr` object from `thing`. `thing` can be an integer or a string that - contains a C expression. - """ - if isinstance(thing, Expr): - return thing - else: - return Expr(thing) - - -class Key: - """Representation of a PSA crypto key object and its storage encoding. - """ - - LATEST_VERSION = 0 - """The latest version of the storage format.""" - - def __init__(self, *, - version: Optional[int] = None, - id: Optional[int] = None, #pylint: disable=redefined-builtin - lifetime: Exprable = 'PSA_KEY_LIFETIME_PERSISTENT', - type: Exprable, #pylint: disable=redefined-builtin - bits: int, - usage: Exprable, alg: Exprable, alg2: Exprable, - material: bytes #pylint: disable=used-before-assignment - ) -> None: - self.version = self.LATEST_VERSION if version is None else version - self.id = id #pylint: disable=invalid-name #type: Optional[int] - self.lifetime = as_expr(lifetime) #type: Expr - self.type = as_expr(type) #type: Expr - self.bits = bits #type: int - self.usage = as_expr(usage) #type: Expr - self.alg = as_expr(alg) #type: Expr - self.alg2 = as_expr(alg2) #type: Expr - self.material = material #type: bytes - - MAGIC = b'PSA\000KEY\000' - - @staticmethod - def pack( - fmt: str, - *args: Union[int, Expr] - ) -> bytes: #pylint: disable=used-before-assignment - """Pack the given arguments into a byte string according to the given format. - - This function is similar to `struct.pack`, but with the following differences: - * All integer values are encoded with standard sizes and in - little-endian representation. `fmt` must not include an endianness - prefix. - * Arguments can be `Expr` objects instead of integers. - * Only integer-valued elements are supported. - """ - return struct.pack('<' + fmt, # little-endian, standard sizes - *[arg.value() if isinstance(arg, Expr) else arg - for arg in args]) - - def bytes(self) -> bytes: - """Return the representation of the key in storage as a byte array. - - This is the content of the PSA storage file. When PSA storage is - implemented over stdio files, this does not include any wrapping made - by the PSA-storage-over-stdio-file implementation. - """ - header = self.MAGIC + self.pack('L', self.version) - if self.version == 0: - attributes = self.pack('LHHLLL', - self.lifetime, self.type, self.bits, - self.usage, self.alg, self.alg2) - material = self.pack('L', len(self.material)) + self.material - else: - raise NotImplementedError - return header + attributes + material - - def hex(self) -> str: - """Return the representation of the key as a hexadecimal string. - - This is the hexadecimal representation of `self.bytes`. - """ - return self.bytes().hex() - - def location_value(self) -> int: - """The numerical value of the location encoded in the key's lifetime.""" - return self.lifetime.value() >> 8 - - -class TestKey(unittest.TestCase): - # pylint: disable=line-too-long - """A few smoke tests for the functionality of the `Key` class.""" - - def test_numerical(self): - key = Key(version=0, - id=1, lifetime=0x00000001, - type=0x2400, bits=128, - usage=0x00000300, alg=0x05500200, alg2=0x04c01000, - material=b'@ABCDEFGHIJKLMNO') - expected_hex = '505341004b45590000000000010000000024800000030000000250050010c00410000000404142434445464748494a4b4c4d4e4f' - self.assertEqual(key.bytes(), bytes.fromhex(expected_hex)) - self.assertEqual(key.hex(), expected_hex) - - def test_names(self): - length = 0xfff8 // 8 # PSA_MAX_KEY_BITS in bytes - key = Key(version=0, - id=1, lifetime='PSA_KEY_LIFETIME_PERSISTENT', - type='PSA_KEY_TYPE_RAW_DATA', bits=length*8, - usage=0, alg=0, alg2=0, - material=b'\x00' * length) - expected_hex = '505341004b45590000000000010000000110f8ff000000000000000000000000ff1f0000' + '00' * length - self.assertEqual(key.bytes(), bytes.fromhex(expected_hex)) - self.assertEqual(key.hex(), expected_hex) - - def test_defaults(self): - key = Key(type=0x1001, bits=8, - usage=0, alg=0, alg2=0, - material=b'\x2a') - expected_hex = '505341004b455900000000000100000001100800000000000000000000000000010000002a' - self.assertEqual(key.bytes(), bytes.fromhex(expected_hex)) - self.assertEqual(key.hex(), expected_hex) diff --git a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/test_case.py b/lib/mbedtls-2.27.0/scripts/mbedtls_dev/test_case.py deleted file mode 100644 index d01e143..0000000 --- a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/test_case.py +++ /dev/null @@ -1,102 +0,0 @@ -"""Library for generating Mbed TLS test data. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -import binascii -import os -import sys -from typing import Iterable, List, Optional - -from mbedtls_dev import typing_util - -def hex_string(data: bytes) -> str: - return '"' + binascii.hexlify(data).decode('ascii') + '"' - - -class MissingDescription(Exception): - pass - -class MissingFunction(Exception): - pass - -class TestCase: - """An Mbed TLS test case.""" - - def __init__(self, description: Optional[str] = None): - self.comments = [] #type: List[str] - self.description = description #type: Optional[str] - self.dependencies = [] #type: List[str] - self.function = None #type: Optional[str] - self.arguments = [] #type: List[str] - - def add_comment(self, *lines: str) -> None: - self.comments += lines - - def set_description(self, description: str) -> None: - self.description = description - - def set_dependencies(self, dependencies: List[str]) -> None: - self.dependencies = dependencies - - def set_function(self, function: str) -> None: - self.function = function - - def set_arguments(self, arguments: List[str]) -> None: - self.arguments = arguments - - def check_completeness(self) -> None: - if self.description is None: - raise MissingDescription - if self.function is None: - raise MissingFunction - - def write(self, out: typing_util.Writable) -> None: - """Write the .data file paragraph for this test case. - - The output starts and ends with a single newline character. If the - surrounding code writes lines (consisting of non-newline characters - and a final newline), you will end up with a blank line before, but - not after the test case. - """ - self.check_completeness() - assert self.description is not None # guide mypy - assert self.function is not None # guide mypy - out.write('\n') - for line in self.comments: - out.write('# ' + line + '\n') - out.write(self.description + '\n') - if self.dependencies: - out.write('depends_on:' + ':'.join(self.dependencies) + '\n') - out.write(self.function + ':' + ':'.join(self.arguments) + '\n') - - - -def write_data_file(filename: str, - test_cases: Iterable[TestCase], - caller: Optional[str] = None) -> None: - """Write the test cases to the specified file. - - If the file already exists, it is overwritten. - """ - if caller is None: - caller = os.path.basename(sys.argv[0]) - with open(filename, 'w') as out: - out.write('# Automatically generated by {}. Do not edit!\n' - .format(caller)) - for tc in test_cases: - tc.write(out) - out.write('\n# End of automatically generated file.\n') diff --git a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/typing_util.py b/lib/mbedtls-2.27.0/scripts/mbedtls_dev/typing_util.py deleted file mode 100644 index 4c34449..0000000 --- a/lib/mbedtls-2.27.0/scripts/mbedtls_dev/typing_util.py +++ /dev/null @@ -1,39 +0,0 @@ -"""Auxiliary definitions used in type annotations. -""" - -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -from typing import Any - -# The typing_extensions module is necessary for type annotations that are -# checked with mypy. It is only used for type annotations or to define -# things that are themselves only used for type annotations. It is not -# available on a default Python installation. Therefore, try loading -# what we need from it for the sake of mypy (which depends on, or comes -# with, typing_extensions), and if not define substitutes that lack the -# static type information but are good enough at runtime. -try: - from typing_extensions import Protocol #pylint: disable=import-error -except ImportError: - class Protocol: #type: ignore - #pylint: disable=too-few-public-methods - pass - -class Writable(Protocol): - """Abstract class for typing hints.""" - # pylint: disable=no-self-use,too-few-public-methods,unused-argument - def write(self, text: str) -> Any: - ... diff --git a/lib/mbedtls-2.27.0/scripts/memory.sh b/lib/mbedtls-2.27.0/scripts/memory.sh deleted file mode 100755 index 9c3882d..0000000 --- a/lib/mbedtls-2.27.0/scripts/memory.sh +++ /dev/null @@ -1,141 +0,0 @@ -#!/bin/sh - -# Measure memory usage of a minimal client using a small configuration -# Currently hardwired to ccm-psk and suite-b, may be expanded later -# -# Use different build options for measuring executable size and memory usage, -# since for memory we want debug information. -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -set -eu - -CONFIG_H='include/mbedtls/config.h' - -CLIENT='mini_client' - -CFLAGS_EXEC='-fno-asynchronous-unwind-tables -Wl,--gc-section -ffunction-sections -fdata-sections' -CFLAGS_MEM=-g3 - -if [ -r $CONFIG_H ]; then :; else - echo "$CONFIG_H not found" >&2 - exit 1 -fi - -if grep -i cmake Makefile >/dev/null; then - echo "Not compatible with CMake" >&2 - exit 1 -fi - -if [ $( uname ) != Linux ]; then - echo "Only work on Linux" >&2 - exit 1 -fi - -if git status | grep -F $CONFIG_H >/dev/null 2>&1; then - echo "config.h not clean" >&2 - exit 1 -fi - -# make measurements with one configuration -# usage: do_config <name> <unset-list> <server-args> -do_config() -{ - NAME=$1 - UNSET_LIST=$2 - SERVER_ARGS=$3 - - echo "" - echo "config-$NAME:" - cp configs/config-$NAME.h $CONFIG_H - scripts/config.py unset MBEDTLS_SSL_SRV_C - - for FLAG in $UNSET_LIST; do - scripts/config.py unset $FLAG - done - - grep -F SSL_MAX_CONTENT_LEN $CONFIG_H || echo 'SSL_MAX_CONTENT_LEN=16384' - - printf " Executable size... " - - make clean - CFLAGS=$CFLAGS_EXEC make OFLAGS=-Os lib >/dev/null 2>&1 - cd programs - CFLAGS=$CFLAGS_EXEC make OFLAGS=-Os ssl/$CLIENT >/dev/null - strip ssl/$CLIENT - stat -c '%s' ssl/$CLIENT - cd .. - - printf " Peak ram usage... " - - make clean - CFLAGS=$CFLAGS_MEM make OFLAGS=-Os lib >/dev/null 2>&1 - cd programs - CFLAGS=$CFLAGS_MEM make OFLAGS=-Os ssl/$CLIENT >/dev/null - cd .. - - ./ssl_server2 $SERVER_ARGS >/dev/null & - SRV_PID=$! - sleep 1; - - if valgrind --tool=massif --stacks=yes programs/ssl/$CLIENT >/dev/null 2>&1 - then - FAILED=0 - else - echo "client failed" >&2 - FAILED=1 - fi - - kill $SRV_PID - wait $SRV_PID - - scripts/massif_max.pl massif.out.* - mv massif.out.* massif-$NAME.$$ -} - -# preparation - -CONFIG_BAK=${CONFIG_H}.bak -cp $CONFIG_H $CONFIG_BAK - -rm -f massif.out.* - -printf "building server... " - -make clean -make lib >/dev/null 2>&1 -(cd programs && make ssl/ssl_server2) >/dev/null -cp programs/ssl/ssl_server2 . - -echo "done" - -# actual measurements - -do_config "ccm-psk-tls1_2" \ - "" \ - "psk=000102030405060708090A0B0C0D0E0F" - -do_config "suite-b" \ - "MBEDTLS_BASE64_C MBEDTLS_PEM_PARSE_C MBEDTLS_CERTS_C" \ - "" - -# cleanup - -mv $CONFIG_BAK $CONFIG_H -make clean -rm ssl_server2 - -exit $FAILED diff --git a/lib/mbedtls-2.27.0/scripts/output_env.sh b/lib/mbedtls-2.27.0/scripts/output_env.sh deleted file mode 100755 index 1d9e0fa..0000000 --- a/lib/mbedtls-2.27.0/scripts/output_env.sh +++ /dev/null @@ -1,192 +0,0 @@ -#! /usr/bin/env sh - -# output_env.sh -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. -# -# Purpose -# -# To print out all the relevant information about the development environment. -# -# This includes: -# - architecture of the system -# - type and version of the operating system -# - version of make and cmake -# - version of armcc, clang, gcc-arm and gcc compilers -# - version of libc, clang, asan and valgrind if installed -# - version of gnuTLS and OpenSSL - -print_version() -{ - BIN="$1" - shift - ARGS="$1" - shift - VARIANT="$1" - shift - - if [ -n "$VARIANT" ]; then - VARIANT=" ($VARIANT)" - fi - - if ! type "$BIN" > /dev/null 2>&1; then - echo " * ${BIN##*/}$VARIANT: Not found." - return 0 - fi - - BIN=`which "$BIN"` - VERSION_STR=`$BIN $ARGS 2>&1` - - # Apply all filters - while [ $# -gt 0 ]; do - FILTER="$1" - shift - VERSION_STR=`echo "$VERSION_STR" | $FILTER` - done - - if [ -z "$VERSION_STR" ]; then - VERSION_STR="Version could not be determined." - fi - - echo " * ${BIN##*/}$VARIANT: ${BIN} : ${VERSION_STR} " -} - -echo "** Platform:" -echo - -if [ `uname -s` = "Linux" ]; then - echo "Linux variant" - lsb_release -d -c -else - echo "Unknown Unix variant" -fi - -echo - -print_version "uname" "-a" "" - -echo -echo -echo "** Tool Versions:" -echo - -print_version "make" "--version" "" "head -n 1" -echo - -print_version "cmake" "--version" "" "head -n 1" -echo - -if [ "${RUN_ARMCC:-1}" -ne 0 ]; then - : "${ARMC5_CC:=armcc}" - print_version "$ARMC5_CC" "--vsn" "" "head -n 2" - echo - - : "${ARMC6_CC:=armclang}" - print_version "$ARMC6_CC" "--vsn" "" "head -n 2" - echo -fi - -print_version "arm-none-eabi-gcc" "--version" "" "head -n 1" -echo - -print_version "gcc" "--version" "" "head -n 1" -echo - -print_version "clang" "--version" "" "head -n 2" -echo - -print_version "ldd" "--version" "" "head -n 1" -echo - -print_version "valgrind" "--version" "" -echo - -print_version "gdb" "--version" "" "head -n 1" -echo - -print_version "perl" "--version" "" "head -n 2" "grep ." -echo - -print_version "python" "--version" "" "head -n 1" -echo - -print_version "python3" "--version" "" "head -n 1" -echo - -# Find the installed version of Pylint. Installed as a distro package this can -# be pylint3 and as a PEP egg, pylint. In test scripts We prefer pylint over -# pylint3 -if type pylint >/dev/null 2>/dev/null; then - print_version "pylint" "--version" "" "sed /^.*config/d" "grep pylint" -elif type pylint3 >/dev/null 2>/dev/null; then - print_version "pylint3" "--version" "" "sed /^.*config/d" "grep pylint" -else - echo " * pylint or pylint3: Not found." -fi -echo - -: ${OPENSSL:=openssl} -print_version "$OPENSSL" "version" "default" -echo - -if [ -n "${OPENSSL_LEGACY+set}" ]; then - print_version "$OPENSSL_LEGACY" "version" "legacy" -else - echo " * openssl (legacy): Not configured." -fi -echo - -if [ -n "${OPENSSL_NEXT+set}" ]; then - print_version "$OPENSSL_NEXT" "version" "next" -else - echo " * openssl (next): Not configured." -fi -echo - -: ${GNUTLS_CLI:=gnutls-cli} -print_version "$GNUTLS_CLI" "--version" "default" "head -n 1" -echo - -: ${GNUTLS_SERV:=gnutls-serv} -print_version "$GNUTLS_SERV" "--version" "default" "head -n 1" -echo - -if [ -n "${GNUTLS_LEGACY_CLI+set}" ]; then - print_version "$GNUTLS_LEGACY_CLI" "--version" "legacy" "head -n 1" -else - echo " * gnutls-cli (legacy): Not configured." -fi -echo - -if [ -n "${GNUTLS_LEGACY_SERV+set}" ]; then - print_version "$GNUTLS_LEGACY_SERV" "--version" "legacy" "head -n 1" -else - echo " * gnutls-serv (legacy): Not configured." -fi -echo - -echo " * Installed asan versions:" -if type dpkg-query >/dev/null 2>/dev/null; then - if ! dpkg-query -f '${Status} ${Package}: ${Version}\n' -W 'libasan*' | - awk '$3 == "installed" && $4 !~ /-/ {print $4, $5}' | - grep . - then - echo " No asan versions installed." - fi -else - echo " Unable to determine the asan version without dpkg." -fi -echo diff --git a/lib/mbedtls-2.27.0/scripts/rename.pl b/lib/mbedtls-2.27.0/scripts/rename.pl deleted file mode 100755 index 9ea5f09..0000000 --- a/lib/mbedtls-2.27.0/scripts/rename.pl +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/env perl -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. -# -# Purpose -# -# This script migrates application source code from the mbed TLS 1.3 API to the -# mbed TLS 2.0 API. -# -# The script processes the given source code and renames identifiers - functions -# types, enums etc, as -# -# Usage: rename.pl [-f datafile] [-s] [--] [filenames...] -# - -use warnings; -use strict; - -use utf8; -use Path::Class; -use open qw(:std utf8); - -my $usage = "Usage: $0 [-f datafile] [-s] [--] [filenames...]\n"; - -(my $datafile = $0) =~ s/rename.pl$/data_files\/rename-1.3-2.0.txt/; -my $do_strings = 0; - -while( @ARGV && $ARGV[0] =~ /^-/ ) { - my $opt = shift; - if( $opt eq '--' ) { - last; - } elsif( $opt eq '-f' ) { - $datafile = shift; - } elsif( $opt eq '-s' ) { - $do_strings = 1; shift; - } else { - die $usage; - } -} - -my %subst; -open my $nfh, '<', $datafile or die "Could not read $datafile\n"; -my $ident = qr/[_A-Za-z][_A-Za-z0-9]*/; -while( my $line = <$nfh> ) { - chomp $line; - my ( $old, $new ) = ( $line =~ /^($ident)\s+($ident)$/ ); - if( ! $old || ! $new ) { - die "$0: $datafile:$.: bad input '$line'\n"; - } - $subst{$old} = $new; -} -close $nfh or die; - -my $string = qr/"(?:\\.|[^\\"])*"/; -my $space = qr/\s+/; -my $idnum = qr/[a-zA-Z0-9_]+/; -my $symbols = qr/[-!#\$%&'()*+,.\/:;<=>?@[\\\]^_`{|}~]+|"/; - -my $lib_include_dir = dir($0)->parent->parent->subdir('include', 'mbedtls'); -my $lib_source_dir = dir($0)->parent->parent->subdir('library'); - -# if we replace inside strings, we don't consider them a token -my $token = $do_strings ? qr/$space|$idnum|$symbols/ - : qr/$string|$space|$idnum|$symbols/; - -my %warnings; - -# If no files were passed, exit... -if ( not defined($ARGV[0]) ){ die $usage; } - -while( my $filename = shift ) -{ - print STDERR "$filename... "; - - if( dir($filename)->parent eq $lib_include_dir || - dir($filename)->parent eq $lib_source_dir ) - { - die "Script cannot be executed on the mbed TLS library itself."; - } - - if( -d $filename ) { print STDERR "skip (directory)\n"; next } - - open my $rfh, '<', $filename or die; - my @lines = <$rfh>; - close $rfh or die; - - my @out; - for my $line (@lines) { - if( $line =~ /#include/ ) { - $line =~ s/polarssl/mbedtls/; - $line =~ s/POLARSSL/MBEDTLS/; - push( @out, $line ); - next; - } - - my @words = ($line =~ /$token/g); - my $checkline = join '', @words; - if( $checkline eq $line ) { - my @new = map { exists $subst{$_} ? $subst{$_} : $_ } @words; - push( @out, join '', @new ); - } else { - $warnings{$filename} = [] unless $warnings{$filename}; - push @{ $warnings{$filename} }, $line; - push( @out, $line ); - } - } - - open my $wfh, '>', $filename or die; - print $wfh $_ for @out; - close $wfh or die; - print STDERR "done\n"; -} - -if( %warnings ) { - print "\nWarning: lines skipped due to unexpected characters:\n"; - for my $filename (sort keys %warnings) { - print "in $filename:\n"; - print for @{ $warnings{$filename} }; - } -} diff --git a/lib/mbedtls-2.27.0/scripts/rm-calloc-cast.cocci b/lib/mbedtls-2.27.0/scripts/rm-calloc-cast.cocci deleted file mode 100644 index 89481c0..0000000 --- a/lib/mbedtls-2.27.0/scripts/rm-calloc-cast.cocci +++ /dev/null @@ -1,7 +0,0 @@ -@rm_calloc_cast@ -expression x, n, m; -type T; -@@ - x = -- (T *) - mbedtls_calloc(n, m) diff --git a/lib/mbedtls-2.27.0/scripts/tmp_ignore_makefiles.sh b/lib/mbedtls-2.27.0/scripts/tmp_ignore_makefiles.sh deleted file mode 100755 index 558970f..0000000 --- a/lib/mbedtls-2.27.0/scripts/tmp_ignore_makefiles.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash - -# Temporarily (de)ignore Makefiles generated by CMake to allow easier -# git development -# -# Copyright The Mbed TLS Contributors -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed 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. - -IGNORE="" - -# Parse arguments -# -until [ -z "$1" ] -do - case "$1" in - -u|--undo) - IGNORE="0" - ;; - -v|--verbose) - # Be verbose - VERBOSE="1" - ;; - -h|--help) - # print help - echo "Usage: $0" - echo -e " -h|--help\t\tPrint this help." - echo -e " -u|--undo\t\tRemove ignores and continue tracking." - echo -e " -v|--verbose\t\tVerbose." - exit 1 - ;; - *) - # print error - echo "Unknown argument: '$1'" - exit 1 - ;; - esac - shift -done - -if [ "X" = "X$IGNORE" ]; -then - [ $VERBOSE ] && echo "Ignoring Makefiles" - git update-index --assume-unchanged Makefile library/Makefile programs/Makefile tests/Makefile -else - [ $VERBOSE ] && echo "Tracking Makefiles" - git update-index --no-assume-unchanged Makefile library/Makefile programs/Makefile tests/Makefile -fi diff --git a/lib/mbedtls-2.27.0/scripts/windows_msbuild.bat b/lib/mbedtls-2.27.0/scripts/windows_msbuild.bat deleted file mode 100644 index e419931..0000000 --- a/lib/mbedtls-2.27.0/scripts/windows_msbuild.bat +++ /dev/null @@ -1,20 +0,0 @@ -@rem Build and test Mbed TLS with Visual Studio using msbuild.
-@rem Usage: windows_msbuild [RETARGET]
-@rem RETARGET: version of Visual Studio to emulate
-@rem https://docs.microsoft.com/en-us/cpp/build/how-to-modify-the-target-framework-and-platform-toolset
-
-@rem These parameters are hard-coded for now.
-set "arch=x64" & @rem "x86" or "x64"
-set "cfg=Release" & @rem "Debug" or "Release"
-set "vcvarsall=C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat"
-
-if not "%~1"=="" set "retarget=,PlatformToolset=%1"
-
-@rem If the %USERPROFILE%\Source directory exists, then running
-@rem vcvarsall.bat will silently change the directory to that directory.
-@rem Setting the VSCMD_START_DIR environment variable causes it to change
-@rem to that directory instead.
-set "VSCMD_START_DIR=%~dp0\..\visualc\VS2010"
-
-"%vcvarsall%" x64 && ^
-msbuild /t:Rebuild /p:Configuration=%cfg%%retarget% /m mbedTLS.sln
|